Javascript ASP.NET-刷新页面后保留下拉列表中选定值的状态,而不使用viewstate和autopostback

Javascript ASP.NET-刷新页面后保留下拉列表中选定值的状态,而不使用viewstate和autopostback,javascript,jquery,html,asp.net,webforms,Javascript,Jquery,Html,Asp.net,Webforms,我正在使用ASP.NET下拉框,并已将javascript函数连接到OnChange事件 该函数实际上将控件重定向回服务器中的页面加载函数,并刷新页面。我不应该将auto post back属性设置为true 我希望确保在刷新页面后,下拉列表中保留所选的值 我是否应该使用任何隐藏变量,或者asp.net中是否有可以帮助我实现这一点的属性 任何帮助都将不胜感激。谢谢 我的代码看起来像这样 <asp:DropDownList ID="CountriesDropDown" Width="100"

我正在使用ASP.NET下拉框,并已将javascript函数连接到OnChange事件

该函数实际上将控件重定向回服务器中的页面加载函数,并刷新页面。我不应该将auto post back属性设置为true

我希望确保在刷新页面后,下拉列表中保留所选的值

我是否应该使用任何隐藏变量,或者asp.net中是否有可以帮助我实现这一点的属性

任何帮助都将不胜感激。谢谢

我的代码看起来像这样

<asp:DropDownList ID="CountriesDropDown" Width="100" runat="server" OnChange = "Send(this);"/>

function Send(dropdown)
{
//Should I write any code here ? 
refreshpage(); //separately implemented to redirect the url back to server
}

In server side

PageLoad()
{
CountriesDropDown.DataSource = CountriesList;
ContriesDropDown.DataBind();

//are there any properties that I could use so that the drop-down retains the selected value ?


}

尝试使用更新面板控件


请根据刷新页面的方式签出

获取:必须将所选值添加到URL参数中 POST:您应该使用隐藏字段并在Request.Params[yourhidenfield.UniqueID]中获取其值 在您的dropdownlist绑定后执行此操作

我应该使用任何隐藏变量还是asp.net中有属性 那能帮我做到这一点吗

对。ASP.Net中的Viewstate可帮助您实现这一点。但是,你不想用它

现在可以通过onchange处理程序在函数refreshpage中附加一个包含所选选项的查询字符串:

现在,在加载代码的页面中,首先检查名为value的querystring参数是否可用。如果是,则在数据绑定后将其设置为所选值

MyAspDropDown.DataBind()
MyAspDropDown.SelectedValue = Request.Querystring("value")

UpdatePanel控件在页面中增加了大量的复杂性,特别是如果有很多控件并且不应该用于这些琐碎的事情的话。这正是我最近一直在尝试的。谢谢。真的很有帮助。将保持此更新..@Jundev-很高兴提供帮助。如果答案解决了您的问题,请将其标记为已接受。谢谢。对不起,你的代码不起作用。我尝试了您以前编写的javascript和您现在编写的jquery方法。我还在努力。我想我必须使用$selectdropdownID.val。不确定。如果找到正确的方法,请告诉我。谢谢。你到底在哪里面临问题?ASP.Net<4?ClientId有问题吗?尝试在页面声明中添加clientdmode=Static。然后您可以使用$'ddlAspId'.val.I已将其排序。我使用了Onchange=sendthis.value,并将函数编写为sendselected{window.location=+selected;}……它现在可以工作了。谢谢你的帮助。
MyAspDropDown.DataBind()
MyAspDropDown.SelectedValue = Request.Querystring("value")