[英]How to prevent GridView saving data from build to build in Visual Studio
我对ASP.NET应用程序中的GridView
和ObjectDataSource
发生的情况有疑问。
GridView
链接到ObjectDataSource
并且都包含在UpdatePanel
从而使GridView可以从同一页面中的表单以异步方式填充,因此当用户输入数据时,它会获得更多的行:
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False"
DataSourceID="ObjectDataSource1">
<Columns>
<asp:BoundField DataField="Name" HeaderText="Name" ReadOnly="True"
SortExpression="Name" />
<asp:BoundField DataField="Periodicty" HeaderText="Periodicty" ReadOnly="True"
SortExpression="Periodicty" />
</Columns>
</asp:GridView>
<asp:ObjectDataSource ID="ObjectDataSource1" runat="server"
SelectMethod="GetSessionNames" TypeName="Simulation"></asp:ObjectDataSource>
<asp:Label ID="Label27" runat="server" Text="Label"></asp:Label>
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="NewWebSessionButton" EventName="Click" />
</Triggers>
</asp:UpdatePanel>
我从Visual Studio 2008开始该项目,填写表格即可正常工作。 然后,我停止执行:再次运行,而我在上一次运行中输入的数据在GridView
。 就像某种缓存之前保存了会话中的数据一样。 我检查了ObjectDataSource
EnableCaching
属性是否设置为false。
如果我在Visual Studio中重建网站(而不仅仅是Build),那么它将正确地工作,而GridView
空。
是否只是因为Visual Studio引起的? 可以关闭吗? 它将在最终运行的IIS中发生吗?
非常感谢你。
您是否检查过浏览器是否在缓存页面? 我有与此有关的类似问题。
我最终在基本页面中添加了一个小的方法来调用以停止页面的缓存。
例如:
/// <summary>
/// Set the page to not Cache
/// </summary>
protected void DontCache()
{
try
{
//Dont Cache
Response.Expires = 0;
Response.Cache.SetNoStore();
Response.AppendHeader( "Pragma", "no-cache" );
}
catch ( Exception )
{
throw;
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.