asp.net后台获取不到DropDownList的值

分类:.NET
 标签:ASP.NET,DropDownList
   修改 | 阅读(2708)| 评论(0)

DropDownList的数据源是在Page_Load里面绑定的,显示没有问题,但点击按钮从后台用DropDownList.SelectedValue取不到选中的值。造成这个的主要原因有两个:
一是页面回发造成的,解决方法是将数据绑定代码放到!IsPostBack中

protected void Page_Load(object sender, EventArgs e)
{
	if (!IsPostBack)
	{
		string sql = string.Format("取值语句");
		DropDownList.DataSource = db.GetDataTable(sql);
		DropDownList.DataTextField = "显示值的字段";
		DropDownList.DataValueField = "内部值的字段";
		DropDownList.DataBind();
	}
}



二是EnableViewState造成的,很多人在用asp.net做网站时为了不生成多余的代码(如下图),会把EnableViewState禁用掉,但如果你要从后台取值的话,还是得把EnableViewState设为 true,要不是取不到值的。


您的昵称:*
QQ登录(无需注册直接登录可进行回复)
您的邮箱:(填写邮箱,如有回复可进行邮件通知)
验证码:
点击刷新