ArrayList.Add方法问题。请大家来关注一下

humin1906 2004-03-21 07:48:58
给DropDownList控件动态添加数值:如
ArrayList al=new ArrayList();
al.Add("2003年");
al.Add("2004年");
DropDownList1.DataSource=al;
DropDownList1.DataBind();
string value=DropDownList1.SelectedItem.Value.ToString();
Response.Write(value);
输出的value值是“2003年”,我想问的就是:这里DropDownList1的text属性和value属性值是一样的。也就是说用ArrayList.Add方法能不能分开添加DropDownList1的text属性和value属性值。或者说怎么样能得到是int型的value 属性值
...全文
117 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
humin1906 2004-03-21
  • 打赏
  • 举报
回复
谢谢!!!!
wuyi8808 2004-03-21
  • 打赏
  • 举报
回复
原来的代码漏了以下两行:

DropDownList1.DataValueField="id";
DropDownList1.DataTextField="item";

wuyi8808 2004-03-21
  • 打赏
  • 举报
回复

以下是d1.aspx:

<%@Page Language="c#" Inherits="d1" src="d1.cs" %>
<html>
<body>
<form method="Post" runat="server">
<asp:DropDownList id="DropDownList1" AutoPostBack="true" runat="server" />
</form>
<%
string value=DropDownList1.SelectedItem.Value.ToString();
Response.Write(value);
%>
</body>
</html>


以下是d1.cs:

using System;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;

public class d1 : Page
{
public DropDownList DropDownList1;

public void Page_Load()
{
if (!(Page.IsPostBack))
{
DataTable dt = new DataTable();
dt.Columns.Add(new DataColumn("id", System.Type.GetType("System.Int32")));
dt.Columns.Add(new DataColumn("item", System.Type.GetType("System.String")));

DataRow row;
row = dt.NewRow();
row["id"] = 2003;
row["item"] = "2003年";
dt.Rows.Add(row);

row = dt.NewRow();
row["id"] = 2004;
row["item"] = "2004年";
dt.Rows.Add(row);

DropDownList1.DataSource = dt;
DropDownList1.DataValueField="id";
DropDownList1.DataTextField="item";
DropDownList1.DataBind();
}
}
}
wuyi8808 2004-03-21
  • 打赏
  • 举报
回复
稍候片刻,待我试一下,再贴上来。
humin1906 2004-03-21
  • 打赏
  • 举报
回复
这样在DropDownList1里是显示不出来的,显示的只有system.data.datarowview
wuyi8808 2004-03-21
  • 打赏
  • 举报
回复
DropDownList1.SelectedItem.Value就是数据表的"id"字段呀。

row["id"] = 2003;
row["item"] = "2003年";
dt.Rows.Add(row);

这样就可以了,你不妨试一试。
humin1906 2004-03-21
  • 打赏
  • 举报
回复
wuyi 8808:
用你的方法在DropDownList1中显示的是system.data.datarowview
不是具体的数据,用你的方法DropDownList1.SelectedItem.Value能得到2003吗
humin1906 2004-03-21
  • 打赏
  • 举报
回复
但是DropDownList1.SelectedItem.Value是不能解析的啊,增加的是“2003年”
想不用分解,同过增加value 属性得到2003。这样做可以吗?
wuyi8808 2004-03-21
  • 打赏
  • 举报
回复

DataTable dt = new DataTable();
dt.Columns.Add(new DataColumn("id", System.Type.GetType("System.Int32")));
dt.Columns.Add(new DataColumn("item", System.Type.GetType("System.String")));

DataRow row;
row = dt.NewRow();
row["id"] = 3;
row["item"] = "2003年";
dt.Rows.Add(row);

row = dt.NewRow();
row["id"] = 4;
row["item"] = "2004年";
dt.Rows.Add(row);

DropDownList1.DataSource = dt;
DropDownList1.DataBind();
jhnhu 2004-03-21
  • 打赏
  • 举报
回复
int listValue=Convert.ToInt32(DropDownList1.SelectedItem.Value.ToString());
//只要DropDownList1.SelectedItem.Value是能解析的整数
humin1906 2004-03-21
  • 打赏
  • 举报
回复
dataset怎么绑定啊,具体的代码有吗?
rroo 2004-03-21
  • 打赏
  • 举报
回复
你有Value嗎,在網頁上不知道怎麼手工動態幫定,但是要是用DataSet幫定上,可以實現Text和Value分離的,在WindowsForm里可以手工動態賦值的,

110,538

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧