动态装载自定义控件时,在响应完自定义的事件事件之后,多次装载切换时发生的错误!

Power_X3q 2003-09-29 10:59:00
动态装载自定义控件时,在响应完自定义的事件事件之后,多次装载切换时发生的错误!
//===Begin错误信息
未能加载视图状态。正在向其中加载视图状态的控件树必须与前一请求期间用于保存视图状态的控件树相匹配。例如,当以动态方式添加控件时,在回发期间添加的控件必须与在初始请求期间添加的控件的类型和位置相匹配。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.Web.HttpException: 未能加载视图状态。正在向其中加载视图状态的控件树必须与前一请求期间用于保存视图状态的控件树相匹配。例如,当以动态方式添加控件时,在回发期间添加的控件必须与在初始请求期间添加的控件的类型和位置相匹配。

源错误:


行 162: sdf.ModeType = this.EditMode;
行 163: sdf.DeptId = this.DeptId;
行 164: this.DeptPN.Controls.Add(sdf);
行 165: ViewState["MyControl"] = "Sys_Dept_Position.ascx";
行 166: }


源文件: e:\web\powerise\sys\sys_dept.aspx.cs 行: 164

堆栈跟踪:


[HttpException (0x80004005): 未能加载视图状态。正在向其中加载视图状态的控件树必须与前一请求期间用于保存视图状态的控件树相匹配。例如,当以动态方式添加控件时,在回发期间添加的控件必须与在初始请求期间添加的控件的类型和位置相匹配。]
System.Web.UI.Control.LoadViewStateRecursive(Object savedState)
System.Web.UI.Control.LoadViewStateRecursive(Object savedState)
System.Web.UI.Control.AddedControl(Control control, Int32 index)
System.Web.UI.ControlCollection.Add(Control child)
Powerise.Sys.Sys_Dept.LoadDeptPosition() in e:\web\powerise\sys\sys_dept.aspx.cs:164
Powerise.Sys.Sys_Dept.InitDeptControl() in e:\web\powerise\sys\sys_dept.aspx.cs:243
Powerise.Sys.Sys_Dept.Page_Load(Object sender, EventArgs e) in e:\web\powerise\sys\sys_dept.aspx.cs:48
System.Web.UI.Control.OnLoad(EventArgs e)
System.Web.UI.Control.LoadRecursive()
System.Web.UI.Page.ProcessRequestMain()

//===End错误信息

装载的代码:
private void InitDeptControl()
{
switch(this.DeptTab.SelectedIndex)
{
case 0:
this.LoadDeptInfo();
break;
case 1:
this.LoadDeptStaff();
break;
case 2:
this.LoadDeptPosition();
break;
case 3:
this.LoadDeptGroup();
break;
case 4:
this.LoadDeptProject();
break;
case 5:
this.LoadDeptProduct();
break;
case 6: this.LoadDeptMenu();
break;
default: this.LoadDeptInfo();
break;
}
}
////////////////////////////////////////////////////
private void LoadDeptInfo()
{
this.DeptPN.Controls.Clear();
Sys.Sys_Dept_Info sdi = (Sys_Dept_Info)this.Page.LoadControl("Sys_Dept_Info.ascx");
sdi.PreDeptId = this.PreDeptId;
sdi.StaffId = this.StaffId;
sdi.ConnectionStr = this.ConnStr;
sdi.ModeType = this.EditMode;
sdi.DeptId = this.DeptId;
this.DeptPN.Controls.Add(sdi);
ViewState["ControlId"] = "Sys_Dept_Info.ascx";
}
在多个Tab页面之间切换,保存了Veie
...全文
52 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
Power_X3q 2003-09-29
  • 打赏
  • 举报
回复
关键时感觉这种错误出现的很偶然,并不是非常有规律,希望碰到过的人谈谈解决方法!
gyhs 2003-09-29
  • 打赏
  • 举报
回复
我进来拿分了
Power_X3q 2003-09-29
  • 打赏
  • 举报
回复
算了,也没有人回答,自己研究搞定了,进来者给分了!

62,025

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧