请帮忙一下.谢谢!

sky1982 2005-01-31 12:58:35
<SPAN id="adminPanel" runat="server">
我在DataGrid里面用了SPAN一块.我想当管理员进去的时候显示这一块,不是管理的不显示这一块
可是 if(!IsPostBack)
{
adminPanel.Visible=false;
}
就提示出错....请问应该怎么解决.谢谢.
...全文
85 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
sky1982 2005-01-31
  • 打赏
  • 举报
回复
谢谢大家.
sitoto 2005-01-31
  • 打赏
  • 举报
回复
学习
wj2929 2005-01-31
  • 打赏
  • 举报
回复
上面的有点问题
更改如下:

using System.Reflection;

for(int i=0;i<DataGrid.Items.Count;i++)
{
control ctr=DataGrid.Items[i].FindControl("adminPanel");
Type tp=ctr.GetType();
PropertyInfo pi=tp.GetProperty("Visible");
pi.SetValue(ctr,false,null);
}
wj2929 2005-01-31
  • 打赏
  • 举报
回复
在DataGrid中当然不能这么写了
用如下方式:
using System.Reflection;

for(int i=0;i<DataGrid.Items.Count;i++)
{
control ctr=DataGrid.Items[i].FindControl("adminPanel");
Type tp=ctr.GetType();
PropertyInfo pi=tp.GetProperty("Visible");
if(lbvalue!="")
pi.SetValue(ctr,false,null);
}
daview 2005-01-31
  • 打赏
  • 举报
回复
不知道你是把这个SPAN放在什么地方。

不过你可以:

1——
在DATAGRID绑定的时候,绑定DATAGRID的ITEMBOUND事件来处理:

e.Item.FindControl("adminPanel").Visible=false;

2——
也可以在PreRender事件中对DATAGRID的每个ITEM都进行一次FindControl来处理。
752 2005-01-31
  • 打赏
  • 举报
回复
试试
datagrid1.FindControl("adminPanel").Visible=false;

62,243

社区成员

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

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

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

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