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

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

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

↓双击代码段选中复制↓
1
2
3
4
5
6
7
8
9
10
11
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登录(无需注册直接登录可进行回复)
您的邮箱:(填写邮箱,如有回复可进行邮件通知)
字体
字号
验证码:
点击刷新