新选择后,母版页值中的下拉列表未更新
作者:互联网
我需要以下问题的帮助.我的主页中实现了一个下拉列表.它具有一个sql数据源,可从中加载公司的值.根据选择的值(公司),它会在另一页的标签中显示该值.
仍然可以看到母版页中的ddl,并且应该显示所选值,它是第一次选择一个值时所执行的操作.但是,当我在ddl中选择另一个值时,它将显示第一个被选择的值,依此类推.因此它不会更新.
我的代码:
这是onselectedIndexChanged事件处理程序:
protected void DropDownListType_SelectedIndexChanged(object sender, EventArgs e)
{
String input1 = DropDownListType.Text;
String input2 = DropDownListType.SelectedValue;
String url = "~/test.aspx?pcompany="+input1;
DropDownListType.SelectedValue = input2;
Session["Company"] = input2;
Response.Redirect(url);
}
这是我在主页上的Page_load方法中使用的代码:
if (Session["Company"] != null)
{
DropDownListType.SelectedValue = (String)Session["Company"];
}
如果我从page_load方法中删除了最后一段代码,它将使用重定向页面上的值更新标签,但是它将ddl重置为默认值,而不是在选择值4时将其保持为4.
我希望大家都明白这一点.任何帮助表示赞赏.提前输入.
解决方法:
尝试在PreRender()方法中设置标签值.您遇到的问题与页面生命周期有关.我将更改您的OnLoad方法以使用
if(!IsPostBack) {
if (Session["Company"] != null)
{
DropDownListType.SelectedValue = (String)Session["Company"];
}
}
这样,您仅在页面加载时设置一次,然后页面上将使用viewstate自动设置所选值.
标签:drop-down-menu,master-pages,asp-net,c 来源: https://codeday.me/bug/20191208/2092459.html