每次子页面加载时,我的母版页中的DropDownList都会被绑定 - 我该如何避免绑定?

时间:2012-02-24 06:58:27

标签: c# asp.net

我在Masterpage中有一个DropDownList,我填写了Page_Load()事件但是当子页面加载时,这个DropDownList再次绑定,因为它在Page_Load()事件和此列表中的选定值丢失。有什么方法可以避免在Masterpage中重复绑定吗?

我从DropDownList通过QueryString传递选定的值,并根据子页面中的值显示项目。

我正在使用visual studio 2011在ASP.Net中用C#编写代码。

 if (!IsPostBack)
    {
        ViewState["id"] = null;
        if (drpdwnCategory.Items.Count < 1)
        {
            fillDropList();
        }
    }
    if (Request.QueryString["catId"] != null)
    {
        drpdwnCategory.SelectedIndex = _drpdwnCategory.Items.IndexOf(drpdwnCategory.Items.FindByValue(enrpt.getdecrept(Request.QueryString["catId"])));
    }

3 个答案:

答案 0 :(得分:1)

 if(!IsPostback)

{

// code to only run at first page load here
// fill dropdown

} 

答案 1 :(得分:1)

您仍然必须在子页面的页面加载时绑定下拉列表,否则您的下拉列表中将没有任何值。

您可以做的是检查主页上的查询字符串,然后在下拉数据绑定期间将下拉列表的SelectedValue属性设置为查询字符串中的任何内容。

答案 2 :(得分:0)

您可以检查下拉列表是否包含项目。如果它有物品,你不会再绑定。