使用FindControl("id")查找控件 返回值都是Null的问题
做了一个通过字符串ID查找页面控件并且给页面控件赋值的功能,过程中遇到了this.FindControl("id")返回值都是Null的问题,记录一下解决办法。
问题的原因是我所要查找的ID控件的父控件不是this所造成的。
所以我写了一个递归方法获取控件:
/// <summary>
/// 获取页面中某个控件
/// </summary>
/// <param name="control">父控件容器</param>
/// <param name="id">控件ID</param>
/// <returns></returns>
public Control GetControl(Control control, string id)
{
Control con = control.FindControl(id);
if (con == null)
{
if (control.HasControls())
{
foreach (Control c in control.Controls)
{
con = GetControl(c, id);
if (con == null)
continue;
else
break;
}
}
else
{
return null;
}
}
return con;
}
使用方法 :TextBox txt = GetControl(this, “textBox1”) as TextBox; //在当前页面中查找ID为“textBox1” 的TextBox控件。
使用FindControl("id")查找控件 返回值都是Null的问题的更多相关文章
- 后台如何通过Request取得多个含有相同name的控件的值?
		在Asp.net开发中,所有html控件的值都是可以在服务器端用后台代码的Request[name]来获取其值的.但如果有多个相同name的Html控件提交到后台,怎么分别取各个控件的值呢?而多数情况 ... 
- [转] WinForm自定义函数FindControl实现按名称查找控件
		原文地址 WinForm自定义函数FindControl实现按名称查找控件 本文所述实例实现WinForm自定义函数FindControl实现按名称查找控件的功能,在C#程序开发中有一定的实用价值. ... 
- HTML控件ID和NAME属性及在CS页面获得.ASPX页面中HTML控件的值
		<转载>来自网络 一.ID是在客户端脚本里用!NAME是用于获取提交表单的某表单域信息,在form里面,如果不指定Name的话,就不会发送到服务器端,所以有name属性的控件,必须指定na ... 
- HTML控件ID和NAME属性的区别,以及如何在asp.net页面的.CS文件中获得.ASPX页面中HTML控件的值
		在html中:name指的是用户名称,ID指的是用户注册是系统自动分配给用户的一个序列号. name是用来提交数据的,提供给表单用,可以重复: id则针对文档操作时候用,不能重复.如:document ... 
- Dynamic CRM 2013学习笔记(八)过滤查找控件 (类似省市联动)
		我们经常要实现类似省市联动一样的功能,常见的就是二个查找控件,一个选择了省后,另一个市的查找控件就自动过滤了,只显示当前省下的市,而不是所有的市.当然这是最简单的,实际工作中还有更复杂的功能要通过过滤 ... 
- JavaScript经典代码【一】【javascript HTML控件获取值】
		javascript HTML控件获取值 1.下拉列表框选定值 ddlPageSize.options[ddlPageSize.selectedIndex].value ddlPageSize.opt ... 
- FindControl 无法找到控件问题解决方案
		若用 string cdept =((HtmlInputText)FindControl("dept0" + i.ToString())).Value; 提示结果为空值,即无法找到 ... 
- 老李推荐:第14章9节《MonkeyRunner源码剖析》 HierarchyViewer实现原理-遍历控件树查找控件
		老李推荐:第14章9节<MonkeyRunner源码剖析> HierarchyViewer实现原理-遍历控件树查找控件 poptest是国内唯一一家培养测试开发工程师的培训机构,以学员 ... 
- FrameworkElement.FindName 根据名字查找控件
		WPF FrameworkElement.FindName 根据名字查找控件 运行环境:Window7 64bit,NetFramework4.7,C# 7.0, 编者:乌龙哈里 2017-10 ... 
随机推荐
- Global.asax使用2
			ASP.NET中利用Application和Session统计在线人数.历史访问量 先来简单说一下ASP.NET中的Application和Session 下图是我们非常熟悉的Web应用程序的结构: ... 
- js如何关闭当前页,而不弹出提示框
			//关闭当前页面,并且打开新页面,(不提示) function closeWinAndOpen(url) { //利用随机数处理WinName var sWinName = "LR" ... 
- sqlserver2012一直显示正在还原(Restoring)和从单用户转换成多用户模式(单用户连接中)
			如果不需要还原,则使用: restore database test with recovery如果只需要还原,则使用: restore database test with norecovery U ... 
- BaceModel
			https://github.com/nicklockwood/BaseModel 字典封装成model 自动封装 要求属性的名字与字典一样 不能有对象 如果其中有需要自己封装的对象属性 重写setW ... 
- Ubuntu14.04配置arm-linux-gcc 4.4.3交叉编译环境
			首先下载交叉编译:不多说,直接贴地址了 http://arm9download.cncncn.com/mini2440/linux/arm-linux-gcc-4.4.3-20100728.tar.g ... 
- C# 导出Excel   Aspose.Cells
			public void ExportExcel() { Workbook workbook = new Workbook(); //工作簿 workbook.Worksheets.Clear(); w ... 
- js抽象类和抽象方法
			js中模拟抽象类:在父类中调用一个未定义的方法,这个方法在子类中必须被实现. 1, 模拟类的工厂模式 //基类 var Class = { //基类的静态方法 creat:function(){ // ... 
- python随机产生4个互不相等的随机数
			从0-9中随机产生4个互不相等的数, 方法一: import random s=[] while(len(s)<4): x=random.randint(0,9) if x not in s: ... 
- 1004    Anagrams by Stack
			考察DFS的应用,用栈描述字符串的变化过程. #include <stdio.h> #include <string.h> int len1,len2; ],str2[],st ... 
- ubuntu下安装fiddler
			因为工作中需要用到fiddler工具 现在工作环境迁移到ubuntu14 下 发现fiddler只支持windows网上也有很多推荐 号称可以代替fiddler 但因为功能使用上比较习惯 并 ... 
