[已解决问题] DataList 中如何判断某个控件的显示
提问时间: 2008-06-17 17:26
悬赏分:20 浏览:325 次

像发评系统中那样 我做了一个DataList中的控件,在这个控件里有两个按钮 ,修改和删除 (linkbutton)型 ,我想做的操作是:当前登录用户发表的就显示出来  如果不是就隐藏

我在数据绑定后用

 DataTable dt = cbll.getComment(cinfo);

if (dt != null && dt.Rows.Count > 0)
            {
                //判断登录人是否为发布人
                UserInfo uinfo = UserBLL.GetLogonInfo();
                this.dlcomment.DataSource = dt;
                for (int i = 0; i < dt.Rows.Count; i++)
                {
                    if (uinfo.Uid == Convert.ToInt32(dt.Rows[i]["uid"].ToString()))
                    {
                        this.dlcomment.Controls[i].FindControl("lkbUpdate").Visible = true;
                        this.dlcomment.Controls[i].FindControl("lkbDel").Visible = true;
                    }
                    else
                    {
                        this.dlcomment.Controls[i].FindControl("lkbUpdate").Visible = false;
                        this.dlcomment.Controls[i].FindControl("lkbDel").Visible = false;
                    }
                }
                this.dlcomment.DataBind();
            }

但是老是报错

指定的参数已超出有效值的范围。
参数名: index

这该么样解决啊?!

请遇到过此问题的高人指点指点!


 

提问者:yeyang - 菜鸟二级
最佳答案
dlcomment中的Controls数量不知是否就和row的数量一样,这样会导致指定的参数已超出有效值的范围的问题。 可以考虑使用foreach遍历Controls,并且用递归的方式保证没有漏掉。 可以参考一下:http://www.cnblogs.com/m2land/archive/2008/05/29/1206520.html
2008/6/17 21:24:06 回答者:land
其它回答(1)
this.dlcomment.Controls[i]这儿有问题,i是datatable的索引。
3个月前   回答者:玉开 - 大侠五级
评论
   您需要登录以后才能回答!
 

我要提问

我的问题


快到期问题

> 问题排行榜

相关内容

相关链接