DotNet中三种方法给下拉框赋值
来源:互联网 发布:西门子博途软件 编辑:程序博客网 时间:2024/05/21 06:57
DotNet网络编程开发中,经常要用到给下拉框赋值,这里介绍三种方法给下拉框赋值,大家根据自己的习惯选择自己喜欢的方法
1、创建一个解决方案solution3
文件--项目--其他项目类型--Visual Studio 解决方案,右边选择“空白解决方案”,下面名称中输入你的项目名称(solution3),位置中选择项目保存的位置。请记住这个步骤,以后不再介绍这个步骤了。
2、再创建一个asp.net web 应用名称
文件--项目--Visual C#(展开)--Web,右边选择“ASP.NET Web 应用程序”,下面名称中输入你的程序名称(webApplication),解决方案中选择“添加到解决方案”(这里需要注意一下哦,别选错了),这时位置中的地址就会自动选好了。请记住这个步骤,以后也不再介绍这个步骤了。
3、这时右边的解决方案资源管理器中就出现了许多文件,这时,双击里面的Default.aspx,左边出 现了aspx的html代码,我们点击下面的“设计”,进入设计编辑。
/* 功能:C#中给下拉框赋值 */
/* 来源: http://www.aspbc.com */
/* 开发:wangsdong */
/* 原创文章,转载请保留此信息 */
下面我们使用三种方法做个年份下拉框,即1980年~2011年
第一种:直接给ListBox组件赋值(服务器组件方法)
在左边的工具栏中--标准--找到ListBox组件,把它拖到设计中。这时设计中有了一个框,并不是我们看到的那种下拉框,我们要对它进行一些修改。右击这个控件--属性,右边出现属性窗口,在里面我们先给这个控件起个名字,找到ID属性,删除原来的名称ListBox1,改成List1。然后找到Rows属性,把里面的4改成1即可,这个就成了我们熟悉的下拉框了。
现在我们给他赋值:在解决方案资源管理器,展开Default.aspx,双击Default.aspx.cs文件在,
1
protected
void
Page_Load(
object
sender, EventArgs e)
2
{
3
}
之间添加以下代码:
1
int
y = DateTime.Now.Year;
//获取当前年份
2
for
(
int
i = y; i > 1980; i--)
3
{
4
List1.Items.Add(i.ToString());
5
}
然后右击解决方案资源管理器中的Default.aspx,设为起始页,再按F5运行,等一会可以看到运行结果了。
经常搞开发的朋友会发现一个问题,下拉框中value的值和text值都是一样,这不是我们想要的,这是这种方法的一个缺点。
第二种:使用DataSet组件赋值(服务器组件方法)
使用DataSet组件来做这个功能,并且解决第一种方法的那个缺点,我要实现的是下拦框中显示2010年,值为2010。(服务器组件方法)
创建下拉框的方法,见上
还是在
1
protected
void
Page_Load(
object
sender, EventArgs e)
2
{
3
}
之间添加以下代码:
01
DataSet d =
new
DataSet();
//创建DataSet
02
d.Tables.Add(
"years"
);
03
d.Tables[
"years"
].Columns.Add(
"value"
);
04
d.Tables[
"years"
].Columns.Add(
"text"
);
05
int
y = DateTime.Now.Year;
//获取当前年份
06
for
(
int
i=y;i>1980;i--)
07
{
08
DataRow dr = d.Tables[
"years"
].NewRow();
09
dr[
"value"
] = i;
10
dr[
"text"
] = i.ToString() +
"年"
;
11
d.Tables[
"years"
].Rows.Add(dr);
12
}
13
14
List1.DataSource = d;
15
List1.DataMember =
"years"
;
16
List1.DataTextField =
"text"
;
17
List1.DataValueField =
"value"
;
18
List1.DataBind();
19
20
这里DataSet下面有一个红色的线,我们需要一个引用:
using
System.Data;
第三种:使用html组件实现这个功能(客户端组件方法)
先进入设计页面,然后在左边的工具栏中--HTML--Select,拖到设计页面中。然后在右边将它的ID改成List1,然后去源码编辑中,删除掉List1下面的<option></option>,添加上<%=str%>,意思是把变量的值显示在这里,和asp一样。
然后进入Default.aspx.cs文件中,先在protected void Page_Load(object sender, EventArgs e)上面定义一个变量str,用来存储生成后面的字符串的public string str = "";
然后在
1
protected
void
Page_Load(
object
sender, EventArgs
2
{
3
}
之间添加代码:
1
int
y = DateTime.Now.Year;
//获取当前年份
2
for
(
int
i = y; i > 1980; i--)
3
{
4
str =str +
"<option value=\""
+ i.ToString() +
"\">第"
+ i.ToString();
5
str = str +
"年</option>"
;
6
}
此时运行一下程序就可以了
总结:第三种方法和asp的写法差不多,只是要记住一下里面如果当前年份这个方法,其他的写法和js的写法一样,从asp转asp.net使用这个写法更熟悉一点。
- DotNet中三种方法给下拉框赋值
- js给下拉框赋值
- Excel 中给下拉框赋值
- ajax struts2 给下拉框赋值
- MVC 给DropDownList下拉框赋值
- struts2+jquery+ajax给下拉框赋值
- jquery动态给下拉框赋值
- 给select下拉框赋值,js实现
- 给下拉框赋值,一直赋值不上
- 下拉框赋值的几种方法
- Ext获取JSON字符串后赋值给联动下拉框
- 用thymeleaf用标签给页面select下拉框赋值
- 判断select下拉框是否有选,并给下拉框赋值
- AJAX读取XML赋值给下拉列表
- easyui中给下拉菜单赋值
- js动态给下拉列表赋值
- 下拉框赋值问题
- 下拉框赋值
- 要么忙着生,要么忙着死。Dropbox怎么选择?
- oracle备份与恢复
- 让你的网页在移动浏览器中也能很好的显示
- Silverlight 3中param参数列表汇总
- mongodb的sharding
- DotNet中三种方法给下拉框赋值
- Wirte_To_txt 代码
- 控制台创建两个线程,等待一个线程的结束,执行另外一线程
- ADo执行到 CADODatabase::IsOpen()出错
- Android AudioFlinger
- Python笔记.2011.10.19
- notify_url.jsp,return_url.jsp这两个页面能改成action的吗?ssh集成
- Oracle中recyclebin的保留策略
- map容器的使用