.net 错误:未能加载视图状态。正在向其中加载视图状态的控件树必须与前一请求期间用于保存视图状态的控件树相匹配。例如,当以动态方式添加控件时,在回发期间添加的控件必须与在初始请求期间添加的控件的类型和位置相匹配。
at System.Web.UI.Control.LoadViewStateRecursive(Object savedState)
at System.Web.UI.Control.LoadViewStateRecursive(Object savedState)
at System.Web.UI.Control.LoadViewStateRecursive(Object savedState)
at System.Web.UI.Control.AddedControl(Control control, Int32 index)
at System.Web.UI.ControlCollection.Add(Control child)
at System.Web.UI.WebControls.RowControlCollection.Add(Control child)
at System.Web.UI.ControlCollection.AddAt(Int32 index, Control child)
at System.Web.UI.WebControls.RowControlCollection.AddAt(Int32 index, Control child)
at System.Web.UI.WebControls.TableRowCollection.Add(TableRow row)
出现此错误是某些控件导致,动态加载日期控件,服务器回传就触发这个错误,若去掉日期控件又正常
解决方案:
这个问题的出现,是ViewState造成的。
加 this.Page.EnableViewState = false;
网上有关这方面的讨论很多,看别人的方案容易走弯路。其实上面代码可以解决问题