我对ViewState有疑问我想从CodeBehind禁用ViewState,因为我在我的应用程序中使用的控件可用于许多客户端,因此无法从UI端禁用ViewState。
我有像
这样的控件<%@ Control Language="C#" ClassName="allrealTimeHorizonAndChartControls" Inherits="QFlife.IrApps.SM6.TimeControl" %>
<div style="float:left; width: 570px; border-top:1px solid #EDEDED;" class="borderright">
<div style="float:left; width:570px">
<input ID="Submit1" class="update_button" type="submit" value="<%= IRAppMgr.Translate("command_update") %>" />
</div>
<%--<div class="HelpButton" style="float:left; width:285px">
<% string culturename = ""; %>
<% culturename = IRAppMgr.UiCulture.Name; %>
<a class="help" target="_blank" href="http://ir.quartalflife.com/qmip/qsm/public_html/sm6help/navigation_en-US.jsp">
help
</a>
</div>--%>
</div>
<asp:ObjectDataSource ID="SharesDS" runat="server" DataObjectTypeName="Qfx.DataClasses.Config.Option"
SelectMethod="SelectOptions" TypeName="Qfx.Bases.data.DataManager">
<SelectParameters>
<asp:ControlParameter ControlID="ClientMarker" Name="appConfig" PropertyName="Config"
Type="Object" />
<asp:ControlParameter ControlID="ClientMarker" Name="client" PropertyName="Client" />
<asp:Parameter Name="selection" DefaultValue="shares" />
</SelectParameters>
</asp:ObjectDataSource>
我想为ObjectDataSource
禁用ViewState,
现在我想在我的Qfx.Bases.data.DataManager类上做一些事情,所以它应该适用于所有客户端。
我的DataManager类看起来像
public class DataManager
{
//All Code Goes Here
}
我已尝试过以下的代号
Page P = HttpContext.Current.Handler as Page;
P.ViewStateMode = ViewStateMode.Disabled;
但我得HttpContext.Current.Handler
为空
任何人都可以建议我怎么能实现这个。
答案 0 :(得分:0)
见这里:http://www.c-sharpcorner.com/UploadFile/rohatash/various-ways-to-disable-viewstate-in-Asp-Net-4-0/
它提供了一个示例,通过添加OnInit
事件并使用this.EnableViewState = false
来禁用整个页面的视图状态。您可以对单个控件执行相同的操作。