ASP.NET DropDownList的SelectedValue属性不立即设置(ASP.NET

2019-09-16 12:41发布

我有我用DropDownList控件允许用户选择一个项目并查看相关结果的ASP.NET Web窗体。 因为当我设置DropDownList的SelectedValue属性值某些原因,它被设置为不立即可用。

这里是我的代码:

protected void Page_Load(object sender, EventArgs e)
{
    if (!Page.IsPostBack)
    {
        DropDownList1.SelectedValue = "5";
        BindView();
    }
}

protected void BindActivities()
{
    DataClassesDataContext dc = new DataClassesDataContext();
    var query = from activity in dc.Activities
                where activity.AssignedTo == Convert.ToInt32(DropDownList1.SelectedValue);
    GridView1.DataSource = query;
    GridView1.DataBind();
}

在前面的代码中,我得到一个错误DropDownList1.SelectedValue为空。 该奇怪的事情是,如果我注释掉使用DropDownList1.SelectedValue代码,让页面加载,DropDownList1实际值设置为5,所以它看起来是越来越设置正确,但是就是没有立即可用。 调试器确认DropDownList.SelectedValue没有被设置为5的代码,设置它的行之后。

任何想法是怎么回事?

Answer 1:

你设置的值,你已经绑定的下拉列表之前?



Answer 2:

是上面的用户是正确的

if (!Page.IsPostBack)
{
    BindView();
    DropDownList1.SelectedValue = "5";
}

......应该只是罚款。

目前在执行的延迟,执行的只是顺序没有这样的事。



文章来源: ASP.NET DropDownList SelectedValue property not being set immediately