其他分享
首页 > 其他分享> > 新选择后,母版页值中的下拉列表未更新

新选择后,母版页值中的下拉列表未更新

作者:互联网

我需要以下问题的帮助.我的主页中实现了一个下拉列表.它具有一个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