关于asp.net中的 FindControl

如何 在 .net(C#)中 获取某个控件对象
在网上搜到 可以用这方法
Panel p = (Panel)FindControl(PanelID);
但是 使用过程中 p 的值是 null 请问 该如何获取呢?

八成是id没有被找到。

在.NET 4.0中,当将控件添加到页面或者用户控件,有一个新的选择项:ClientIDMode。此属性为您提供四种选择:Legacy, Static, Predictable, Inherit。在此之前,几乎不可能找到在一个正确的控件的ID。现在在ASP.NET4.0中,选择Legacy将与以前的asp.net版本产生的方式相同,连接每个控件的ID和父容器的名字。设置为Static将生成服务器控件ID属性设置的值。
温馨提示:内容为网友见解,仅供参考
第1个回答  2010-06-18
这里的取控件方法在没有使用复杂控件的时候还可以
直接就能取到,只是在DataView这些里面就没有那么容易了
这个是在DetailsView中查找
Label lblId = this.DetailsView1.FindControl("lblId") as Label;
这个是在GridView中的
LinkButton btnDelete = e.Row.FindControl("btnDelete") as LinkButton;
你看着吧 其他的我就不太清楚了 你看看对你有什么帮助没有
第2个回答  2010-06-18
FindControl("控件id")里面是获取控件的id 看你有没有写对咯

Asp.net Fincontrol 的使用 (.net)
你可以再aspx中直接写 <asp:DataList ID="DataList1" runat="server"> <FooterTemplate> <asp:Label ID="Label1" runat="server" Text="Label"><\/asp:Label> <\/FooterTemplate> <\/asp:DataList> 如果在cs里写的话,你可以遍历DataList1里面的控件,得到DataList1结构了以后想添加个控件应该是...

ASP.NET中在另一个页面控制母版页的层的显示\/隐藏
方法1.可以在子页面使用masterpage.FindControl("Id")来操作 母版页 的层(母版页的层必须是 服务器端 控件),方法2.可以在JS里面操作,因为页面呈现后母版页和子页面都在一个页面了 "设置AutoPostBack="True"了,但是 DropDownList 的事件SelectedIndexChanged还是不响应"不明白怎么回事,要不你hi我代码...

ASP.NET 我在后台为Repeater绑定数据源,如何同时获得Repeater中的控件...
只能在Repeater的ItemDataBound事件中,用FindControl方法获取,然后重新绑定,在其它地方用FindControl方法不行的。比如在事件中可以这样写 if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem){ Button btn = (Button)e.Item.FindControl("btnDetail");int...

asp.net后台如何获取当前打开修改后的页面的html源码(急急急 在线等...
首先,一个页面上的所有控件ID是唯一的 可以根据控件ID获得客户处理后页面的所有控件 例如:要获得客户处理后页面上ID为TextBox1的控件:在后台页面上可以这么获取:if(Page.PreviousPage!=null){\/\/判断是否存在向当前页传输控件的页 if(PreviousPage.FindControl("TextBox1")!=null){\/\/判断是否存在ID...

(asp.net C#)如何隐藏gridview列
预览和隐藏都在<asp:TemplateField>中 第四列中findControl(删除按钮的id)找到这个控件后,设置属性为隐藏 protected void GD_MemberInfo_RowDataBound(object sender, GridViewRowEventArgs e){ if (e.Row.RowType == DataControlRowType.DataRow){ e.Row.Cells[3].FindControl("删除按钮的id").Visible...

asp.net 怎样将前台的<%=%> 里的参数传到后台 <%=%>里是一个id。。怎...
用form 前台, <input type="search" class="picker input" name="ds" id="id" value='<%=FormValue("id") %>' \/> 後台 string ds = FormValue("id");

asp.net中的批量删除,下面的代码有什么错误吗?为什么删除不掉啊_百度知...
chk = (CheckBox)gdvCourse.Rows[i].Cells[0].Controls[0];这种方式获得的Controls不只是咱自己添加的那个控件,还有别的,如果你调试,会发现Controls会有好几个,如果获得Controls[0]这样就会报错,所以你总是删除不成功,应该用 CheckBox cb = (CheckBox)this.gvBulletinList.Rows[i].FindControl("...

asp.net中下面那个if语句是什么意思??
这段代码的意思就是将当前显示的时间转化为LongDate类型 类似:DateTime dt = DateTime.Now;LabelTime.Text = dt.ToLongDateString().ToString();\/\/2005年11月5日 e.Row.Controls[0].FindControl("Label1")\/\/这段代码是通过GridView1的索引e,指定到要控制的控件,这里就是label1了。Convert.To...

asp.net 给form里面的控件赋值
).GetProperties())第二:将页面上控件重命名,按照"控件类型_属性”命名 例:txtRemark 第三 pi.name可以取出属性名 pi.PropertyType可以取出属性类型 pi.GetValue可以取出属性值 这样,你就可以首先根据属性名通过一定的转换得到控件名 然后使用findcontrol找到控件 最后根据控件类型赋予不同的属性。

asp.net 根据ID 获取控件
asp.net 根据ID 获取控件 50 已知页面中又一个id为“abc”的控件他的基类是webcontrol 请问怎样获得这个控件比如JS的getElementById(“abc”)之类的我看了findcontrol()函数他不是很好用因为他只能找下一级的但是网页元素恐怕要又N级 作循环的话太慢了请问又什么更好的... 展开 ...

相似回答
大家正在搜