我在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"])));
}
答案 0 :(得分:1)
if(!IsPostback)
{
// code to only run at first page load here
// fill dropdown
}
答案 1 :(得分:1)
您仍然必须在子页面的页面加载时绑定下拉列表,否则您的下拉列表中将没有任何值。
您可以做的是检查主页上的查询字符串,然后在下拉数据绑定期间将下拉列表的SelectedValue属性设置为查询字符串中的任何内容。
答案 2 :(得分:0)
您可以检查下拉列表是否包含项目。如果它有物品,你不会再绑定。