Disable ViewState From CodeBehind

本文关键字:CodeBehind From ViewState Disable | 更新日期: 2023-09-27 18:13:57

我有关于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>

我想禁用ViewState仅为ObjectDataSource,现在我想对我的qfx . base .data. datamanager类做一些事情,所以它应该适用于所有客户端。

我的DataManager类看起来像

     public class DataManager
     {
        //All Code Goes Here
     }

我试过下面提到的代码

        Page P = HttpContext.Current.Handler as Page;
        P.ViewStateMode = ViewStateMode.Disabled;

但我得到HttpContext.Current.Handler是空的谁能告诉我怎么才能做到这一点。

Disable ViewState From CodeBehind

见:http://www.c-sharpcorner.com/UploadFile/rohatash/various-ways-to-disable-viewstate-in-Asp-Net-4-0/

给出了通过添加OnInit事件和使用this.EnableViewState = false来禁用整个页面的视图状态的示例。您可以对单个控件执行相同的操作。