asp.net – 无法加载viewstate.正在加载viewstate的控制树必须与
我目前正在为几个webproject工作一个动态核心.它有一个使用树视图和菜单的核心.然后对于每个特定的项目,它将几个不同的wuc加载到主要内容中.一些商业项目使用与业务相关的wuc,而另一些则使用不同的wuc.所以wuc的范围非常大.
现在我的问题是,每当用户按下menuitem或treeitem时,它会将wuc加载到链接到该对象的maincontent. 但是我有一些观点错误,我现在已经四处寻找,并且所解释的解决方案都没有适用于我的项目. 我所有的wuc都必须启用viewstate. 周期是 – > 页面(控件A)使用变量进行回发以将控件更改为wucPanel(UpdatePanel)中的ControlB. 目前的代码是 protected void Load_Page(object sender,EventArgs e) { //Code to decide which wuc to load. UserControl wucc = (UserControl)Page.LoadControl(sFilePath); ParentControl.ContentTemplateContainer.Controls.Add(wucc); } 我已经尝试了几个修复,比如向wuc添加不同的id,但这要么像处理程序一样摒弃控制的内部功能,要么生成相同的viewstate错误. 我找到的一个解决方案是加载ControlA然后只删除它然后加载ControlB.但这会禁用我的第三方控制器(Telerik)的脚本. 我也读过关于每种类型的不同PlaceHolders,但由于我希望有多达50种不同的控件,我觉得这不会对我有所帮助. 从Page_Load移动 – > Page_Init生成了相同的错误. 错误:
解决方法
在你的Anders案例中,你仍然需要在init方法中将旧控件与你现在想要添加的新控件一起添加到页面中.保留对您刚刚在类级别变量中添加的旧控件的引用.所以像
Control _oldControl = null; protected void Init_Page(object sender,EventArgs e) { //Code to decide which wuc to load. UserControl wucc = (UserControl)Page.LoadControl(sFilePath); ParentControl.ContentTemplateContainer.Controls.Add(wucc); _oldControl = wucc as Control; //Now add the new control here. } //override the LoadViewState method and remove the control from the control's collection once you page's viewstate has been loaded protected override void LoadViewState(object savedState) { base.LoadViewState(savedState); ParentControl.ContentTemplateContainer.Controls.Remove(_oldControl); } 希望这可以帮助.如果确实如此,请选中此答案旁边的复选框以接受它,如果您愿意,请将其投票:) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net-mvc-3 – 坚持使用asp.net mvc 3.0脚手架,以防多对
- asp.net-mvc-3 – 将开源CMS框架集成到现有的MVC3 / MVC4站
- asp.net-mvc – 我们应该使用Entity Framework Code First方
- asp.net – 禁用按钮但看起来很活跃
- asp-classic – 如何在VBScript中逐行读取CSV文件
- ASP.NET Core 2.0 带初始参数的中间件问题及解决方法
- 发送文件时的ASP.NET文件名编码
- Windbg程序调试系列1-Mex扩展使用总结
- 在asp.net中使用Eval()是什么
- asp.net-mvc-3 – 使用Razor视图抛出有关DotNetOpenAuth.IE
- asp.net – Repeater.Items上的DataItem始终为nu
- asp.net – 有没有理由不将pdb文件部署到生产Web
- asp.net-mvc-3 – 如何在Mvccontrib网格模型中使
- asp.net – Web API和Upserts
- asp.net – 跟踪当前在线用户的最佳方式
- ASP.NET如何知道单击哪个Button以引发其事件
- 将asp mvc3不显眼验证与jquery验证插件混合使用
- asp.net – 黑客正试图在我们的某个网站上做某事
- asp.net-mvc – 我的bin部署MVC4应用程序中的区域
- asp.net – .NET Application_BeginRequest – 如