为了账号安全,请及时绑定邮箱和手机立即绑定

ASP.NET DropDownList 的属性SelectedValue

ASP.NET DropDownList 的属性SelectedValue

侃侃无极 2018-12-06 12:43:02
页面初始化时的代码为 protected void Page_Load(object sender, EventArgs e){if (!IsPostBack) { this.ddlUserName.DataSource = UserList; this.ddlUserName.DataTextField = "Name"; this.ddlUserName.DataValueField = "Id"; this.ddlCustomerName.DataBind();    }}protected void ddlUserName_SelectedIndexChanged(object sender, EventArgs e) { int userId = TypeParse.IntParse(this.ddlUserName.SelectedValue);}  以上这段代码可以正确获得userId。调试查看“this.ddlUserName.SelectedValue”即为''this.ddlUserName.SelectedValue''中的值,即数据库中''ID”对应的值。 但是我把程序改为 protected void Page_Load(object sender, EventArgs e){if (!IsPostBack) { this.ddlUserName.DataSource = UserList; this.ddlUserName.DataTextField = "Name"; //this.ddlUserName.DataValueField = "Id"; this.ddlCustomerName.DataBind();    }}protected void ddlUserName_SelectedIndexChanged(object sender, EventArgs e) { int userId = TypeParse.IntParse(this.ddlUserName.SelectedValue);} 即将this.ddlUserName.DataValueField = "Id";注释掉,本以为通过查看“this.ddlUserName.SelectedValue”获得的应该为空字符串,但是结果获得的却是“this.ddlUserName.DataTextField ”中的值,即“Name”。 这是我不明白的地方,希望高人指点。                 一个属性是DataTextField,一个是DataValueField
查看完整描述

5 回答

?
郎朗坤

TA贡献1921条经验 获得超9个赞

不指定DataValueField绑定的字段时,默认与DataTextField一致。

如果你把那二句注释掉,也就是都没有绑定,那么就会默认绑定的数据源列表的类型,也就是MyWeb.DAL.USsr,实际上绑定的就是这个类型的USsr.ToString()或者是typeof(USsr).FullName.

查看完整回答
反对 回复 2019-01-21
?
波斯汪

TA贡献1811条经验 获得超4个赞

不指定DataValueField默认与DataTextField一致

查看完整回答
反对 回复 2019-01-21
?
MMTTMM

TA贡献1869条经验 获得超4个赞

刚才在程序中把this.ddlUserName.DataTextField = "Name";和this.ddlUserName.DataValueField = "Id";这两句都注释了,结果this.ddlUserName.SelectedValue仍有值,它的值为程序中的对应的数据库的表名的路径即“MyWeb.DAL.USsr”,这是怎么回事啊?
查看完整回答
反对 回复 2019-01-21
?
千巷猫影

TA贡献1829条经验 获得超7个赞

答案如上所回答的,DropDownList控件不指定DataValueField=value , DataTextField=text 的时候,会绑定this.ddlUserName.DataSource = UserList; 一个UserList对象!

 

查看完整回答
反对 回复 2019-01-21
?
温温酱

TA贡献1752条经验 获得超4个赞

绑定dropdownlist时要指定DataValueField和, DataTextField,即对应绑定数据源(datatable)中的相应的字段,默认绑定是数据列表类型

查看完整回答
反对 回复 2019-01-21
  • 5 回答
  • 0 关注
  • 524 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信