[英]Winforms Inhereted Control preventing the designer from working
[英]Preventing a control from loading
如何防止ASPX页面中显示的控件加载?
基本上,我有一个带有单个ObjectDataSource
的ASP.NET Web表单,该表单提供了2个GridView(我们称它们为gvSystemA
和gvSystemB
)。 该ObjectDataSource
从SQL Server存储过程获取其数据。
该存储过程从系统A或系统B中提取数据,具体取决于“系统”参数的值。 这两个系统完全不同,因此该存储过程的输出也不同。
所以我基本上想显示gvSystemA
或gvSystemB
,但不能同时显示两者。 ObjectDataSource
和两个Gridview都位于aspx页面上。 如何防止gvSystemA或gvSystemB从后台代码加载? 我尝试了几件事,但它仍然尝试加载两个Gridview:
protected void Page_Load(object sender, EventArgs e)
{
if ((string)HttpContext.Current.Session["System"] == "sysA")
{
gvSystemB.Enabled = false;
}
else
{
gvSystemA.Enabled = false;
}
}
而且我收到以下错误(因为来自gvSystemA的DataField与gvSystemB不同):
在所选数据源上找不到名称为“ TELEPHONENUM”的字段或属性
您需要将Visible属性设置为Enabled。 设置Visible = false时,它应该对UI隐藏,并且不应该进行数据绑定。
protected void Page_Load(object sender, EventArgs e)
{
if ((string)HttpContext.Current.Session["System"] == "sysA")
{
gvSystemB.Visible = false;
}
else
{
gvSystemA.Visible = false;
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.