[英]ASP.Net ViewState doesn't work when Control become Enable=False
[英]can't access a control in my form when I disable viewstate in asp.net and my viewstate is too bulky I don't want to enable it
我想以某种形式禁用视图状态,因为它太庞大了(每页大约1mb),原因是从数据库中检索了一些数据,而在同一表单上的其他位置,我想从母版页访问控件。 但是当我将Listview的viewstate设置为false时,将出现以下错误:
你调用的对象是空的。
在这种情况下我该怎么办? veiwstate太笨拙了,这是我为访问特定控件而写的内容:
Control cc = Page.Master.FindControl("mainContent").FindControl("ListView1").FindControl("itemPlaceholderContainer");
foreach (Control ListItemctrl in cc.Controls)
{
Control lblNewsId = ListItemctrl.FindControl("lblNewsID");
if (lblNewsId != null)
{
Type t = lblNewsId.GetType();
if (t.FullName == "System.Web.UI.WebControls.Label")
{
string newsID = ((Label)lblNewsId).Text;
foreach (Control childCtrl in ListItemctrl.Controls)
{
CheckBox ctrlCB = childCtrl.FindControl("chkItem") as CheckBox;
if (ctrlCB.Checked)
{
//based on DDLAction we will do the things ;)
}
if (childCtrl.FindControl("chkItem") != null)
break;
}//end foreach childCtrl
}
}//end outer if
}//end foreach listItenctrl
您可以禁用整个页面的viewstate并有选择地为您的控件启用它,如此处所述
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.