C# ASP.NET DropdownList autopostback和浏览器后退按钮

C# ASP.NET DropdownList autopostback和浏览器后退按钮,c#,.net,asp.net,javascript,html,C#,.net,Asp.net,Javascript,Html,我有一个启用了自动回邮功能的asp.net下拉列表。它不是动态填充的,其值在HTML代码中是固定的: <asp:dropdownlist id="ddlReportView" runat="server" autopostback="True" onselectedindexchanged="ddlReportView_SelectedIndexChanged" enableviewstate="true"> <asp:listitem text="Snapshot"

我有一个启用了自动回邮功能的asp.net下拉列表。它不是动态填充的,其值在HTML代码中是固定的:

<asp:dropdownlist id="ddlReportView" runat="server" autopostback="True" onselectedindexchanged="ddlReportView_SelectedIndexChanged" enableviewstate="true">
    <asp:listitem  text="Snapshot" value="SNAPSHOT"></asp:listitem>
    <asp:listitem  text="Detailled" value="DETAILLED"></asp:listitem>
    <asp:listitem  text="Review" value="REVIEW"></asp:listitem>
    <asp:listitem  text="Review Summary" value="REVIEW_SUMMARY"></asp:listitem>

</asp:dropdownlist>

用户然后单击“查看摘要”模式:

该页面现在显示审查摘要网格,一切正常:

用户按下后退按钮,网格以快照模式显示(这是正常的),但 下拉列表仍然显示“审查摘要”!

我尝试使用javascript设置select的值,但它不起作用。有没有人遇到过这个问题,或者知道如何解决这个问题


谢谢。

试试这个。我知道还没有人回答你的问题,所以这是我的答案

在页面上创建一个表单,并将其命名为frm1

主体中的onload使函数类似于此

function checkrefresh()
    {
        if(frm1.visited.value == '' || frm1.visited.value == null) 
        {
            document.frm1.visited.value = "1";
        }
        else
        {
           document.getElementById('<%=ddlReportView.ClientId%>').selectedvalue='SNAPSHOT';
        }
    } 
函数checkrefresh()
{
if(frm1.visted.value=''| | frm1.visted.value==null)
{
document.frm1.visted.value=“1”;
}
其他的
{
document.getElementById(“”)。selectedvalue='SNAPSHOT';
}
} 

让我知道这是否有效

在.aspxs的标题中关闭SmartNavigation属性(或者在web.configs中,该属性是可继承的,因此如果您将其放在根目录中,它将对整个站点生效)

我使用jQuery成功地使javascript在这个页面上工作

$(document).ready(function() {
    //Reset drop down list
    $("#<%= dropDownList1.ClientID %> > option:first").attr("selected", "selected");        
});
$(文档).ready(函数(){
//重置下拉列表
$(“#>选项:第一”).attr(“选定”、“选定”);
});
或者如果初始值应为“快照”选项

$(document).ready(function() {
    $("#<%= dropDownList1.ClientID %>").val("SNAPSHOT");
});
$(文档).ready(函数(){
$(“#”)val(“快照”);
});

您可以处理浏览器的backbutton单击

$(函数(){ jQuery(window).bind(“unload”,函数(){ $(“#”)val('0'); });
});您是如何尝试使用JS更改select值的?您的下拉列表是否在AJAX updatepanel中?javascript:-在隐藏的文本框中写入选定的索引值,然后在formload AJAX:-非操作上设置ddl的selectedindex。。。尝试了类似的技巧,但由于某种原因ddl拒绝更改值。。。