博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
2017-5-19 复合控件 ispostback 跨页面传值
阅读量:5243 次
发布时间:2019-06-14

本文共 2882 字,大约阅读时间需要 9 分钟。

(一)复合控件

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

属性:RepeatDirection --- 排列方式

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

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

    Enable  --- 是否启用

    selected  --- 是否被选中

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

赋值:

protected void Page_Load(object sender, EventArgs e)    {        if (IsPostBack == false) { List
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中的代码 

 3.DropDownList  下拉列表

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

protected void Page_Load(object sender, EventArgs e)    {        if (IsPostBack == false) { List
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>");

 

转载于:https://www.cnblogs.com/changxiaosen/p/6943232.html

你可能感兴趣的文章
ssh 简介
查看>>
26.无向网邻接表类
查看>>
Visual Studio Code 打开.py代码报Linter pylint is not installed解决办法
查看>>
洛谷 p1352 没有上司的舞会 题解
查看>>
Python 数据类型
查看>>
Task 与 Activity
查看>>
Google Guava学习笔记——简介
查看>>
历时八年,HTML5 标准终于完工了
查看>>
17.树的子结构
查看>>
D - Mike and strings
查看>>
C++:多维数组的动态分配(new)和释放(delete)
查看>>
c#基础学习(0806)之抽象类实现多态
查看>>
S5PV210根文件系统的制作(一)
查看>>
51NOD 1244 莫比乌斯函数之和
查看>>
[bzoj1923]外星千足虫[高斯消元]
查看>>
centos下同时启动多个tomcat
查看>>
slab分配器
查看>>
分析 PHP大马-php_mof SHELL
查看>>
TCP/IP
查看>>
[推荐] 协同滤波 —— Collaborative Filtering (CF)
查看>>