我确信这不是一个独特的问题,但我在如何解决这个问题上的空白(星期一早上)。
在我的导航菜单上,用户打开一个带有DDL的页面,从下拉列表中选择一条记录,在Gridview中打开一行,显示一些字段。用户可以单击编辑和更新两个字段,当然也可以单击取消,或从下拉列表中选择另一个记录,在Gridview中显示新记录。
这一切都很好。
问题是当用户进入Nav菜单并转到另一个页面然后返回到第一页时,正在查看的最后一条记录仍显示在Gridview中,而不是仅显示DDL并等待选择。就好像Page Load事件不会再次触发(事实上它没有)。我需要它作为初始加载来触发,以便'If Not ISPostback Then'逻辑正确触发。
似乎页面被缓存并只是重新加载或重新显示,是否有任何事件会触发或者这是所有浏览器?
感谢任何想法。
答案 0 :(得分:1)
您应该确保IIS和最终用户的浏览器都不会缓存您的页面。
要确保IIS或客户端浏览器不缓存页面,您可以将以下指令添加到页面顶部:
<%@ OutputCache location="None" %>
您可以在MSDN中找到更多信息,但这与在响应中设置可缓存性相同,除非它是声明性的,我个人更喜欢。
作为替代方案,如果您不希望缓存任何页面,可以将以下部分添加到web.config的system.web部分:
<caching>
<outputCache enableOutputCache="false" enableFragmentCache="false" omitVaryStar="true" />
</caching>
有关详细信息,请参阅MSDN。