c#——DataList中后台设置控件可见性的问题!

我要根据会员权限设置DataList中的一个LinkButton的可见性的问题!我怎么设置那个LinkButton的可见性啊?下面是我尝试过的一段代码!LinkButto... 我要根据会员权限设置DataList中的一个LinkButton的可见性的问题!我怎么设置那个LinkButton的可见性啊?下面是我尝试过的一段代码!
LinkButton LinkButton2 = (LinkButton)DataList1.FindControl("LinkButton1");
LinkButton2.Visible = false;
可是不行啊!浏览的时候给出的提示是——“未将对象引用设置到对象的实例。”将这个代码放在Page_Load、DataBinding、DataList1_Load、等等我都试过了!请大家帮忙!谢谢!
我在DataBound中加入了如下语句!
LinkButton LinkButton2 = (LinkButton)DataList1.SelectedItem.FindControl("LinkButton1");
LinkButton2.Visible = false;
可是那个LinkButton依旧显示着呢!
请大家帮忙!
展开
 我来答
小雨要开心_鹏
2009-07-21 · TA获得超过2360个赞
知道小有建树答主
回答量:473
采纳率:0%
帮助的人:620万
展开全部
“LinkButton LinkButton2 = (LinkButton)DataList1.FindControl("LinkButton1");”
LinkButton2.Visible = false;
未将对象引用设置到对象的实例的意思是你所要找的LinkButton2不存在,所以你使用一个不存在的控件的Visible属性就会报错
找LinkButton的方法不是你那样的,要先遍历DataList,在DataList的子控件中寻找该控件,有2种方法:
1.
foreach (DataListItem item in DataList1.Items)
{
if(((LinkButton)item.FindControl("LinkButton1"))!=null)
{
((LinkButton)item.FindControl("LinkButton1")).visible=false;
}
}
2. for (int i = 0; i < DataList1.Items.Count; i++)
{
LinkButton btn = (LinkButton)DataList1.Items[i].FindControl("LinkButton1");
{
btn.visble=false;
}
}

我通常都是在PreRender里先绑定,在遍历隐藏,我贴段简单代码你看下
protected void DataList1_PreRender(object sender, EventArgs e)
{
BindData();
//下面检查权限,若权限不足就遍历隐藏
//贴上上面遍历的代码
}
protected void BindData()
{
DataTable dt=new DataTable();
//dt=...;
DataList1.DataSource=dt;
DataList1.DataBind();
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
亥男056
2009-07-21 · TA获得超过102个赞
知道小有建树答主
回答量:300
采纳率:0%
帮助的人:21万
展开全部
放在ItemDataBound事件里
control linkbutton= e.Item.FindControl("")
linkbutton.visible=false
就可以了
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友d71aaf6f9
2009-07-21 · TA获得超过258个赞
知道小有建树答主
回答量:337
采纳率:0%
帮助的人:199万
展开全部
未将对象引用设置到对象的实例,肯定是你没有找到这个控件,LinkButton2的值是NUll.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
maryyitian
2009-07-21
知道答主
回答量:28
采纳率:0%
帮助的人:0
展开全部
你的linkbutton1肯定没有找到,是空的。在DataBound事件中写:
LinkButton LinkButton2 = (LinkButton)DataList1.SelectedItem.FindControl("LinkButton1");
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友41b31623
2009-07-21 · TA获得超过216个赞
知道小有建树答主
回答量:349
采纳率:0%
帮助的人:167万
展开全部
LinkButton Link = (LinkButton )this.DataList1.SelectedItem.FindControl("LinkButton1");

Link.Visible=false;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式