如何遍历gridview中的控件 并得到控件id,在做权限 帮帮忙 foreach(control ctr in page.controls){ ....} 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 foreach (GridViewRow rowview in YourGridView.Rows){Label lb1 = ((Label)rowview.FindControl("Label1"));TextBox tb1 = ((TextBox)rowview.FindControl("TextBox1"));………………} 我是想遍历 gridview的所有控件.5楼的理解错了,我根本就不知道gridiview中控件的id遍历啊 。。 那是分配权限 ,我现在想做的是权限判断.说 一个例子 我在一个页面的gridview中有一个控件假设是button吧.我想从页面把这个button的id读取出来和数据库的权限进行比对.如果有就显示没有隐藏这个控件问题就是如何读取这个button的id 就像我们现在所在的csdn的论坛我们是不能用删除和修改的按钮啊可以用举报,引用以及回复的按钮 先用foreach遍历gridvie每一行 foreach(GridViewRow myrow in this.GridView1.Rows) { if(e.RowIndex = myrow.RowIndex) { TextBox txt = myrow.cells[2].findControl("TextBox1"); } }权限问题 强烈关注 晕,我说过不知道 gridview中控件的id号,又来一个TextBox1.. 您可以试试类似以下的代码://功能:遍历控件parentControl的下一级子控件,并添加到childControlsList中去void GetChildControls(Control parentControl,List<Control> childControlsList){ if(parentControl.Controls.Count>0) { foreach(Control child in parentControl.Controls) { childControlsList.Add(child); GetChildControls(child,childControlsList); //这里再便历子控件的子子控件 } }} 我的明白 我先把遍历所有控件的代码 放在这里 public void setControls(System.Web.UI.ControlCollection contr) { foreach (Control co in contr) { switch (co.GetType().Name.ToString()) { case "Button": Response.Write("<script language='javascript'>alert('" + (co as Button).ID.ToString() + "');</script>"); break; case "TextBox": Response.Write("<script language='javascript'>alert('" + (co as TextBox).ID.ToString() + "');</script>"); break; case "GridView": setControls((co as GridView).Controls); Response.Write("<script language='javascript'>alert('" + (co as GridView).ID.ToString() + "');</script>"); break; case "LinkButton": Response.Write("<script language='javascript'>alert('" + (co as LinkButton).ID.ToString() + "');</script>"); break; default: setControls(co.Controls); break; } // Response.Write("<script language='javascript'>alert('"+((Control)(co.ID)).ToString()+"');</script>"); } }不过 有点 问题 我先做了一个父类parentpage 我在parentpage的oninit事件下调用this.setControls(this.Controls)但是总是找不到gridview下的控件但在 普通页面下的page_load事件下 调用this.setControls(this.Controls) 却能够找到gridview下的控件 很烦啊 其实这段代码也是在网上找的,不过在父类的OnInit事件下就是找不到gridview里面的控件 C#考试管理系统 关于vs2005 第三控件的问题 Winform中ListBox的每一行插入一个进度条 在LINQ查询的where语句中将字符串转换为数字 请教了~~有关弹出窗体的问题? c#关于c/s结构 计算上机时间的问题 Visual Stdio.Net 2003 安装时不允许选择安装路径 刚入门第一个简单的程序遇到的问题,请高手回答,多谢 in vb6.0 "form2.show" how to write in c#.net? 图片转base64编码 水晶报表的分组与排序 各给前辈大家好 小弟在凌晨2点给大家发帖了 希望大家能帮帮忙
Label lb1 = ((Label)rowview.FindControl("Label1"));
TextBox tb1 = ((TextBox)rowview.FindControl("TextBox1"));
………………
}
遍历啊 。。
说 一个例子 我在一个页面的gridview中有一个控件假设是button吧.
我想从页面把这个button的id读取出来和数据库的权限进行比对.如果有就显示没有隐藏这个控件
问题就是如何读取这个button的id
foreach(GridViewRow myrow in this.GridView1.Rows)
{
if(e.RowIndex = myrow.RowIndex)
{
TextBox txt = myrow.cells[2].findControl("TextBox1");
}
}
权限问题 强烈关注
void GetChildControls(Control parentControl,List<Control> childControlsList)
{
if(parentControl.Controls.Count>0)
{
foreach(Control child in parentControl.Controls)
{
childControlsList.Add(child);
GetChildControls(child,childControlsList); //这里再便历子控件的子子控件
}
}
}
public void setControls(System.Web.UI.ControlCollection contr)
{
foreach (Control co in contr)
{
switch (co.GetType().Name.ToString())
{
case "Button":
Response.Write("<script language='javascript'>alert('" + (co as Button).ID.ToString() + "');</script>");
break;
case "TextBox":
Response.Write("<script language='javascript'>alert('" + (co as TextBox).ID.ToString() + "');</script>");
break;
case "GridView":
setControls((co as GridView).Controls);
Response.Write("<script language='javascript'>alert('" + (co as GridView).ID.ToString() + "');</script>");
break;
case "LinkButton":
Response.Write("<script language='javascript'>alert('" + (co as LinkButton).ID.ToString() + "');</script>");
break;
default:
setControls(co.Controls);
break;
}
// Response.Write("<script language='javascript'>alert('"+((Control)(co.ID)).ToString()+"');</script>"); }
}
不过 有点 问题
我先做了一个父类parentpage 我在parentpage的oninit事件下调用this.setControls(this.Controls)
但是总是找不到gridview下的控件
但在 普通页面下的page_load事件下 调用this.setControls(this.Controls) 却能够找到gridview下的控件
很烦啊