当导航离开然后返回时,Gridview仍会显示

时间:2011-12-12 16:10:07

标签: asp.net vb.net gridview

我确信这不是一个独特的问题,但我在如何解决这个问题上的空白(星期一早上)。

在我的导航菜单上,用户打开一个带有DDL的页面,从下拉列表中选择一条记录,在Gridview中打开一行,显示一些字段。用户可以单击编辑和更新两个字段,当然也可以单击取消,或从下拉列表中选择另一个记录,在Gridview中显示新记录。

这一切都很好。

问题是当用户进入Nav菜单并转到另一个页面然后返回到第一页时,正在查看的最后一条记录仍显示在Gridview中,而不是仅显示DDL并等待选择。就好像Page Load事件不会再次触发(事实上它没有)。我需要它作为初始加载来触发,以便'If Not ISPostback Then'逻辑正确触发。

似乎页面被缓存并只是重新加载或重新显示,是否有任何事件会触发或者这是所有浏览器?

感谢任何想法。

1 个答案:

答案 0 :(得分:1)

您应该确保IIS和最终用户的浏览器都不会缓存您的页面。

要确保IIS或客户端浏览器不缓存页面,您可以将以下指令添加到页面顶部:

<%@ OutputCache location="None" %>

您可以在MSDN中找到更多信息,但这与在响应中设置可缓存性相同,除非它是声明性的,我个人更喜欢。

作为替代方案,如果您不希望缓存任何页面,可以将以下部分添加到web.config的system.web部分:

  <caching>
    <outputCache enableOutputCache="false" enableFragmentCache="false" omitVaryStar="true" />
  </caching>

有关详细信息,请参阅MSDN