asp.net – UserControl Viewstate在回发后丢失所有值
发布时间:2020-11-17 15:07:24 所属栏目:asp.Net 来源:互联网
导读:我在页面上有一个用户控件,需要在viewstate中保持某些状态.每当发生回发时,viewstate中的条目都将设置为null. 页 %@ Page Title= Language=C# MasterPageFile=~/Main.master %%@ Register TagPrefix=JR TagName=JournalRanking Src=~/Control
我在页面上有一个用户控件,需要在viewstate中保持某些状态.每当发生回发时,viewstate中的条目都将设置为null. 页 <%@ Page Title="" Language="C#" MasterPageFile="~/Main.master" %> <%@ Register TagPrefix="JR" TagName="JournalRanking" Src="~/Controls/JournalRankRadioButton.ascx" %> <script runat="server"> </script> <asp:Content ID="Content3" ContentPlaceHolderID="Content1placeholder" Runat="Server"> <asp:Panel CssClass="insetBG1" ID="FormView1" runat="server"> <JR:JournalRanking ID="JournalRanking1" runat="server" ViewStateMode="Inherit" /> </asp:Panel> </asp:Content> 用户控制 <%@ Control Language="C#" ClassName="JournalRankRadioButton" %> <script runat="server"> public String Test { get { if (ViewState["Test"] == null) { ViewState["Test"] = String.Empty; } return ViewState["Test"].ToString(); } set { ViewState["Test"] = value; } } public void Page_Load(object sender,EventArgs e) { if (!Page.IsPostBack) { this.Test = "Test"; } } </script> <asp:CheckBox runat="server" AutoPostBack="true" /> 当我加载页面时,ViewState [“Test”]被分配给“Test”,但是当我选中复选框时,页面会进行回发并且ViewState [“Test”]再次为null.我错过了什么? -Update- 因此,即使我在页面中设置EnableViewState = true,并且主页面中的控件EnableViewState为false.我不得不补充一下 this.Page.Master.EnableViewState = true; 控制让它工作. 谢谢您的帮助! 解决方法您的代码在此完美运行.我能想到的唯一解释是在父控件上禁用了ViewState. JournalRanking位于MasterPage内的页面内.检查您在任何地方都没有EnableViewState = false,因为这会阻止您检索页面回发上的值.(编辑:4S站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net – HttpWebRequest正在为404抛出异常
- asp.net-core – 使用IdentityServer4生成访问令牌,无需密码
- asp.net-mvc-3 – 如何在页面提交ASP.Net MVC时捕获哪个单选
- asp.net-mvc – 使用输出缓存和其他动作过滤器
- asp.net-mvc – Umbraco 7自定义cookie
- 在asp.net中使用加密数据库联接字符串保证数据安全
- asp.net-mvc – asp.net mvc 4从控制器按钮调用方法
- asp.net-mvc-5 – 我需要在MVC Razor中编码属性值吗?
- Asp.Net 5分钟实现网页实时监控
- asp.net-mvc – 如何从剃刀视图访问My.Resources
推荐文章
站长推荐
热点阅读