zoukankan      html  css  js  c++  java
  • 复合控件 ispostback 跨页面传值

    (一)复合控件

    1.RadioButtonList   每一行数据都是一个ListItem

    属性:RepeatDirection --- 排列方式

        RepeatColumns --- 每一行中需要展示的个数

        RepeatLayout  --- 页面中生成什么样的代码

        Enable  --- 是否启用

        selected  --- 是否被选中

        Text  ---  显示的内容   Value  --- 给系统看的

    赋值:

    复制代码
     protected void Page_Load(object sender, EventArgs e)
        {
            if (IsPostBack == false) 
            {
                List<Nation> ulist = new NationData().select();
                foreach(Nation uu in ulist)
                {
                    ListItem li = new ListItem(uu.NationName, uu.NationCode);
                    RadioButtonList1.Items.Add(li);
                }
            }
            Button1.Click += Button1_Click;
    
        }
    复制代码

    取值:(页面上有一个按钮,点击按钮在lable中显示选中的内容)

     void Button1_Click(object sender, EventArgs e)
        {
            Label1.Text= RadioButtonList1.SelectedItem.Text//显示的内容
          +RadioButtonList1.SelectedItem.Value;//给数据库看的内容 }

    加载的时候默认选中的按钮:

     View Code

    2.CheckBoxList  多选按钮

    多选取值:

    复制代码
    void Button1_Click(object sender, EventArgs e)
        {
            string a = "";
            foreach(ListItem li in CheckBoxList1.Items)
            {
                if (li.Selected) 
                {
                    a += li.Text;
                }
            }
            Label1.Text = a;
        }
    复制代码

     赋值和RadioButtonList一样,都是遍历数组,还可以用数据源进行绑定

    数据源绑定数据:

     CheckBoxList1.DataSource = ulist;
                CheckBoxList1.DataTextField = "NationName";
                CheckBoxList1.DataValueField = "NationCode";
                CheckBoxList1.DataBind();

    点击复选框的时候,lable显示点击的内容:在checkbox中写事件SelectedIndexChange,一定要加入自动提交属性AutoPostBback="true";

    复制代码
    //改变事件代码:
      if (CheckBoxList1.SelectedIndex >= 0)
                Label1.Text = CheckBoxList1.SelectedItem.Text;
            else
                Label1.Text = "";
    //checkbox中的代码
     <asp:CheckBoxList AutoPostBack="true" ID="CheckBoxList1" runat="server" OnSelectedIndexChanged="CheckBoxList1_SelectedIndexChanged"></asp:CheckBoxList>
    复制代码

     3.DropDownList  下拉列表

    赋值:和复合控件checkboxlist,radiobuttonlist一样

    复制代码
     protected void Page_Load(object sender, EventArgs e)
        {
            if (IsPostBack == false) 
            {
                List<Nation> ulist = new NationData().select();
                CheckBoxList1.DataSource = ulist;
                CheckBoxList1.DataTextField = "NationName";
                CheckBoxList1.DataValueField = "NationCode";
                CheckBoxList1.DataBind();
                ListItem la = new ListItem("==请选择==","-1");
                DropDownList1.Items.Add(la);
                foreach (Nation uu in ulist)
                {
                    ListItem li = new ListItem(uu.NationName, uu.NationCode);
                    DropDownList1.Items.Add(li);
                }
    
            }
            Button1.Click += Button1_Click;
    
        }
    复制代码

    取值:

    void Button1_Click(object sender, EventArgs e)
        {
            Label1.Text = DropDownList1.SelectedItem.Text;
           
        }

    4.ListBox   列表控件

    属性:selectionmode设置是否多选,multiple多选,single单选

    取值,赋值和控件checkboxlist,radiobuttonlist,dropdownlist一样

    (二)ispostback

    绑定数据出现数据选项无法更改
    page_load事件再每一次页面刷新的时候都会执行
    就会把数据重新绑定一次,再去执行按钮事件
    判断页面是否是第一次加载还是响应回发

    if(!ispostback)
    {
    只需要在页面第一次加载的时候才执行的代码写到这里面
    注意95%的代码都要写到这里面
    !事件委托不能写到这里面
    }

    (三)跨页面传值

    1.页面跳转:在本窗口中

    Response.Redirect("文件路径");

    2.页面传值:传递的值可以是很多个,不固定的

      用的是QueryString   --- url传值,或者地址栏传值

      接在那个网址后面,就给哪个传值,

      样式:地址?key=value&key=value,key就相当于是一个变量,名称,用来存贮的

      接收:string value = Request["key"];

    例子: 

         Response.Redirect("aaa.aspa?a="+TextBox1.Text);

    aaa页面中的接收,并且在label中显示:string aa = Request["a"]; label1.text=aa;

    3.打开新页面窗口:

     Response.Write("<script>window.open('Default2.aspx','_blank');</script>");

  • 相关阅读:
    强化学习的基本迭代方法
    基于文本描述的事务聚类
    学习强化学习之前需要掌握的3种技能
    其它 华硕 ASAU S4100U 系统安装 win10安装 重装系统 Invalid Partition Table 解决
    数据分析 一些基本的知识
    Python 取样式的内容 合并多个文件的样式 自定义样式
    电商 Python 生成补单公司需要的评论格式3
    SpringBlade 本地图片上传 生成缩略图
    SQL Server 字符串截取
    SpringBlade 本地图片上传
  • 原文地址:https://www.cnblogs.com/weiyu11/p/6904730.html
Copyright © 2011-2022 走看看