WebForm 【复合控件】
一 复合控件(取值,赋值用法相近)
RadioButtonList --单选按钮 (一组列表)
<asp:RadioButtonList ID="RadioButtonList2" runat="server">
</asp:RadioButtonList>

-- 每一个单选按钮就是一个 listitem
控件属性
RepeatColumns : 3; -- 有3列(每行有几个按钮)
RepeatDirection vertical -- 垂直排列
Horizontal --水平排列
RepeatLayout Table -- 用表格的方式展现
Flow --用 span 的方式展现
应用
<asp:RadioButtonList ID="RadioButtonList1" runat="server">
<asp:ListItem Value ="True" Selected ="True" >男</asp:ListItem>
<asp:ListItem Value ="False" >女</asp:ListItem>
</asp:RadioButtonList>
赋值
1、
protected void Page_Load(object sender, EventArgs e)
{
//绑定数据
RadioButtonList1.DataSource = new usernationData().SelectAll();
RadioButtonList1.DataTextField = "NationName";
RadioButtonList1.DataValueField = "NationCode";
RadioButtonList1.DataBind(); //设置默认项
foreach ( ListItem li in RadioButtonList1.Items )
{
if (li.Value == "n003")
{
li.Selected = true; } } }
RadioButtonList1.DataSource = new usernationData().SelectAll() -- 指向数据源
RadioButtonList1.DataTextField = "NationName"; -- 显示的内容
RadioButtonList1.DataValueField = "NationCode"; -- 隐藏的内容
RadioButtonList1.DataBind(); -- 绑定
2、
protected void Page_Load(object sender, EventArgs e)
{
List<usernation> ulist = new usernationData().SelectAll(); if (IsPostBack == false)
{
foreach (usernation u in ulist)
{
ListItem li = new ListItem();
li.Text = u.NationName;
li.Value = u.NationCode; if (li.Value == "N003")
{
li.Selected = true;
} RadioButtonList1.Items.Add(li);
} } }
-- 直接用遍历绑定
if( ! ispostback )
{
| 只需要在页面第一次加载的时候才执行的代码写到这里面
| 注意95%的代码都要写到这里面
| -- !!!!事件委托不能写到这里面
}
取值
RadioButtonList1.SelectedValue; -- 获取隐藏的值
RadioButtonList1.SelectedItem.Text; -- 获取看到的值
CheckBoxList -- 复选列表
<asp:CheckBoxList ID="CheckBoxList1" runat="server">
</asp:CheckBoxList>

CheckBoxlist.Items 所有选项
控件属性
AutopostBack = " true "; 自动提交
SelectedIndexChanged 选项一改变就触发
取值
string s = "";
foreach (ListItem li in CheckBoxList1.Items)
{
if (li.Selected)
{
s += li.Text;
}
}
Label.Text = s;
CheckBoxList1.SelectedItem.Text; -- 选单个值
DropDownList -- 下拉列表
<asp:DropDownList ID="DropDownList1" runat="server">
</asp:DropDownList>
赋值
List<usernation> ulist = new usernationData().SelectAll();
if (IsPostBack == false)
{
foreach (usernation u in ulist)
{
ListItem li = new ListItem();
li.Text = u.NationName;
li.Value = u.NationCode;
DropDownList1.Items.Add(li);
}
}
取值
DropDownList1.SelectedItem.Text;
清空下拉项
DropDownList1.Items.Clear( );
dropDownList控件绑定数据后,在显示时默认情况下是第一个选项处于选中状态。这时,展开控件的所有选项,
如果第一次选择的就是默认项,那么,dropdownlist_selectedChange事件将不会触发,
只有在选择一次非默认选项后,再返回来选择才会有效。
解决方法:
1、dropdownlist绑定的数据源不变,页面加载时默认选项的信息也随着页面加载同时显示。
foreach ( ListItem li in DropDownList1.Items )
{
if (li.Value == "n003")
{
li.Selected = true; }
}
1、给dropdownlist添加一个默认选项(“——请选择——”),
---------------------------------------------------------------------------------
page_load事件在每一次页面刷新的时候都会执行,会把数据重新绑定一次,再去执行按钮事件
判断页面是否是第一次加载还是响应回发
if( ispostback == false )
{
-- 第一次加载
}
-- 响应回发(点击事件等)
WebForm 【复合控件】的更多相关文章
- webform 复合控件
RadioButtonList 单选按钮列表 属性:RepeatColumns 用于布局项的列数(每一行的个数) RepeatDirection 选择Vertical,纵向排列:选择Horizont ...
- 【2017-05-19】WebForm复合控件
自动提交的属性: AutoPostBack="True" 1.RadioButtonList 单选集合 -属性:RepeatDirection:Vertical (垂直排布 ...
- WebForm复合控件RadioButtonList、CheckBoxList、DropDownList
1.RadioButtonList 单选集合 -属性:RepeatDirection:Vertical (垂直排布)/Horizontal (横向排布) RepeatLayout:Table ...
- 【2017-05-19】WebForm复合控件、用DropDownList实现时间日期选择。
自动提交的属性: AutoPostBack="True" 1.RadioButtonList 单选集合 -属性:RepeatDirection:Vertical (垂直排布 ...
- Webform(简单控件、复合控件)
一.简单控件: 1.label控件 <asp:Label ID="Label1" runat="server" Text="账 号:" ...
- webform简单、复合控件
简单控件: 1.Label 会被编译成span标签 属性: Text:文本内容 CssClass:CSS样式 Enlabled:是否可用 Visible:是否可见 2.Literal 空的,C#会把里 ...
- WebForm简单控件,复合控件
简单控件: 1.Label 会被编译成span标签 属性: Text:文本内容 CssClass:CSS样式 Enlabled:是否可用 Visible:是否可见 __________________ ...
- WebForm 简单控件、复合控件
简单控件: Label:被编译成span 样式表里设置lable的高度: display:inline-block; Text --文本 ForeColor --字体颜色 Visible -- ...
- webform(复合控件)
一.组合单选 RadioButtonList 单选按钮与简单控件不同,可理解为在集合中放置多对象 例: <asp:RadioButtonList ID="RadioButtonList ...
随机推荐
- Kali Linux渗透测试实战 1.3 渗透测试的一般化流程
1.3 渗透测试的一般化流程 凡事预则立,不预则废,做任何事情都要有一个预先的计划.渗透测试作为测试学科的一个分支,早已形成了完整的方法论.在正式开始本书的实践教学章节之前,我也想谈一谈使用Kali ...
- Page_Load是怎样被执行的
关于Asp.Net的生命周期的文章,很多很多,不管是管道生命周期,还是页面生命周期,图文并茂的文章并不少,我就不说了,我只是在复习这些知识点的时候,想具体知道一个页面的Page_Load方法到底是怎么 ...
- vscode卡死问题
网上有人说是和淘宝镜像冲突,也不知啥原因,接下来一下操作会好点: 文件->首选项->设置,搜索search.followSymlinks,把对勾去掉就行 1.修复vs code 造成 rg ...
- Python2.7更新pip:UnicodeDecodeError: 'ascii' codec can't decode byte 0xb7 in position 7: ordinal not in range(128)
1.首先更新pip版本的时候出现.这是出现在python2.7.16出现的问题 2.进入你的pyhton目录下的Lib\mimetypes.py 打开它 3.在import下面加入这代码 if sys ...
- Swift5 语言参考(三) 类型
在Swift中,有两种类型:命名类型和复合类型.一个名为类型是当它的定义可以给出一个特定名称的类型.命名类型包括类,结构,枚举和协议.例如,名为的用户定义类的实例MyClass具有该类型MyClass ...
- shell环境改变引起的命令提示符改变
1. 故障现象与背景 1.1 背景 开发早上找我说root环境变得异常,跟平时不太一样.其他用户没有改变,就root用户发生变化 1.2故障现象 root用户命令提示符 :➜ ~ 命令行上命令提示符发 ...
- Redis---List(链表)
1. 基本结构 Redis 早期版本存储 list 列表数据结构使用的是压缩列表 ziplist 和普通的双向链表 linkedlist,也就是元素少时用 ziplist,元素多时用 linkedli ...
- Failed to start docker.service: Unit not found.
安装教程参考: https://docs.docker.com/install/linux/docker-ce/centos/#install-docker-ce-1 https://yq.aliyu ...
- maven build的常用生命周期
常用的maven build goals: validate - validate the project is correct and all necessary information is av ...
- d3.js在vue项目中的安装及案例
1. 安装: npm i d3 --save 2. 引入:main.js import * as d3 from "d3"; Vue.prototype.$d3 = d3; win ...