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 ...
随机推荐
- 深度学习主机环境配置: Ubuntu16.04+GeForce GTX 1080+TensorFlow
接上文<深度学习主机环境配置: Ubuntu16.04+Nvidia GTX 1080+CUDA8.0>,我们继续来安装 TensorFlow,使其支持GeForce GTX 1080显卡 ...
- 【转】dlgdata.cpp line 40 断言失败
原文网址:http://blog.csdn.net/onlyou930/article/details/6384075 在VS2010 运行一个C++ 程序,出现下图错误: 一看到这个,我头都大了.关 ...
- ASP .Net C# ---Excel导入导出方法
导入导出的方法以及引用,可以自行创建一个帮助类 using System;using NPOI.SS.UserModel;using NPOI.XSSF.UserModel;using NPOI.HS ...
- 在Asp.Net MVC中利用快递100接口实现订阅物流轨迹功能
前言 分享一篇关于在电商系统中同步物流轨迹到本地服务器的文章,当前方案使用了快递100做为数据来源接口,这个接口是收费的,不过提供的功能还是非常强大的,有专门的售后维护团队.也有免费的方案,类似于快递 ...
- [leetcode.com]算法题目 - Restore IP Addresses
Given a string containing only digits, restore it by returning all possible valid IP address combina ...
- 【BZOJ2595】 [Wc2008]游览计划
BZOJ2595 [Wc2008]游览计划 Solution 考虑这是一个最小费用连通性的问题,既然大家都说这是什么斯坦纳树那就是的吧... 所以我们肯定可以这样设一个dp状态: \(dp_{i,j, ...
- SpringCloud实现集群和负载均衡
Spring cloud是一个基于Spring Boot实现的服务治理工具包,在微服务架构中用于管理和协调服务的. 组成部分 spingcloud的五大神兽 服务发现——Netflix Eureka ...
- [初识]使用百度AI接口,图灵机器人实现简单语音对话
一.准备 1.百度ai开放平台提供了优质的接口资源https://ai.baidu.com/ (基本免费) 2.在语音识别的接口中, 对中文来说, 讯飞的接口是很好的选择https://www.xf ...
- 教你通过Node.js漏洞完成渗透测试
本篇文章较为详细的讲述了通过node.js的已知漏洞来完成渗透测试的过程,介绍了node.js存在的漏洞可以在多种工具下的不同利用方式.因为我认为会对论坛部分web安全新手有所帮助,所以整理到论坛中. ...
- window.location API
概述 今天被自己鄙视了,竟然不会用window.location.search进行页面传值.现在好好总结下window.location API,记录一下供以后开发时参考,相信对其它人也有用. 页面传 ...