Crn*_*Krv 0 c# asp.net gridview
如何防止加载ASPX页面中显示的控件?
基本上,我有一个ASP.NET Web窗体ObjectDataSource将提供给2个GridView的(让我们称他们gvSystemA和gvSystemB).这ObjectDataSource是从SQL Server存储过程获取其数据.
该存储过程从系统A或系统B中提取数据,具体取决于"系统"参数的值.这两个系统完全不同,因此该存储过程的输出也不同.
所以我基本上想要显示gvSystemA,或者gvSystemB,但不是两者.这ObjectDataSource两个Gridview都在aspx页面上.如何防止gvSystemA或gvSystemB从代码隐藏加载?我尝试了几件事,但它仍尝试加载两个Gridviews:
protected void Page_Load(object sender, EventArgs e)
{
if ((string)HttpContext.Current.Session["System"] == "sysA")
{
gvSystemB.Enabled = false;
}
else
{
gvSystemA.Enabled = false;
}
}
Run Code Online (Sandbox Code Playgroud)
我收到以下错误(因为gvSystemA的DataFields与gvSystemB不同):
在所选数据源上找不到名为"TELEPHONENUM"的字段或属性
您需要将Visible属性设置为Not 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;
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
38 次 |
| 最近记录: |