Dropdownlist onselectedindexchanged问题

时间:2010-01-13 12:39:12

标签: c# asp.net

我有一个像这样的下拉列表

<asp:dropdownlist runat="server" autopostback="true" onselecteditemindexchanged="fire_event" ID="DDL"/>

在代码隐藏中我这样做

page_load : if(!page.postback)I m binding data into dropdownlist
   fire_event: I am redirecting page to itemselected value.

所以我能够完成所有部分工作,除了......

当我在下拉列表中选择项目时,它会将我重定向到我想要的页面。但是当我点击它时,它仍保留在相同的项目选择值。我希望它像是当我点击后退时再次加载

如果我的下拉列表状态为A 和其他项目

A
B
C
D

当我选择D时,它会转到D页面,然后点击返回 它位于州D我希望它显示A而不是D

2 个答案:

答案 0 :(得分:1)

当您在许多(但不一定是所有)浏览器上使用后退按钮时,您没有访问服务器,而是检索浏览器在其最后状态下缓存的页面副本。
为避免这种情况,您需要阻止页面被缓存,以便从服务器中检索它。将以下内容添加到页面加载中肯定会在IE中完成。 Further investigation已经发现,这也可以使用no-store属性在Firefox中实现:

    Response.CacheControl = "no-cache";
    Response.Cache.SetNoStore();
    Response.AddHeader("Pragma", "no-cache");
    Response.Expires = -1;

答案 1 :(得分:1)

您可以使用javascript确保在加载文档时选择正确的值。以下代码使用jquery,但您可以使用Microsoft Ajax ...

$.ready(function() {
    $("#mySelect").val(''); // Set the default value to select here
});

祝你有个美好的一天!