重新加载页面时保存下拉列表的值



我用ASP开发了一个网站。NET可以将项目添加到显示产品的另一个表中。

我有一个显示仓库中物品的表格和一个显示生产某种产品所需材料的表格。使用下拉列表,您可以看到生产的产品。当用户想要添加到文章中时,他按下按钮。但在页面加载后,我的下拉列表再次显示最低值,而不是保持其值。访问网站,将产品(瑞典语为产品)从"Cykel"(自行车)更改为"汽车",并添加任何文章,您就会明白问题所在。我可以做一些页面加载找到解决方案吗?

也许我应该提一下,我使用了一个数据源,我绑定了下拉菜单

如果你将下拉菜单绑定在pageload中,则将其绑定在!ispostback ..

protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
          //Bind your dropdown
        }
    }

在onChange的下拉菜单调用一个函数,假设是storeValue()函数和做这样的事情,[你可以添加属性到下拉菜单的onChange ="storeValue(this.value);"]

function storeValue(val)
{
   localStorage.setItem("dropdownvalue",val);
}



var val="";
$(document).ready(function(){
       val=localStorage.getItem("dropdownvalue");
       //assign your value to dropdown list from here...
 });

在上述先生的帮助下,我找到了解决这个问题的方法。我使用了每次下拉列表索引更改时调用的函数。保存会话索引。

        if (!Page.IsPostBack)
        {

            try
            {
                string test = (string)Session["test"];
                int value = int.Parse(test);
                DropDownList2.SelectedIndex = value;
            }
            catch
            {
            }
        }

 protected void DropDownList2_SelectedIndexChanged(object sender, EventArgs e)
            {
                Session["test"] = ""+ DropDownList2.SelectedIndex;
            }

最新更新