asp.net – 无法在动态创建的System.Web.UI.WebControl上使用Control.FindCon
发布时间:2020-05-24 22:48:21 所属栏目:asp.Net 来源:互联网
导读:为什么以下代码不起作用?我正在创建一个控件,添加一个子控件并尝试使用.FindControl方法通过id检索它. [Test] public void TryToFindControl() { var myPanel = new Panel(); var textField = new TextBox { ID
|
为什么以下代码不起作用?我正在创建一个控件,添加一个子控件并尝试使用.FindControl方法通过id检索它. [Test]
public void TryToFindControl()
{
var myPanel = new Panel();
var textField = new TextBox
{
ID = "mycontrol"
};
myPanel.Controls.Add(textField);
var foundControl = myPanel.FindControl("mycontrol");
// this fails
Assert.IsNotNull(foundControl);
}
解决方法Panel尚未添加到页面,因此您无法使用FindControl.相反,您需要在Panel.Controls中找到它[TestMethod]
public void TryToFindControl()
{
var myPanel = new Panel();
var textField = new TextBox
{
ID = "mycontrol"
};
myPanel.Controls.Add(textField);
var foundControl = myPanel.Controls
.OfType<TextBox>()
.FirstOrDefault(x => x.ID == "mycontrol");
Assert.IsNotNull(foundControl);
}
用页面测试 只有在将容器添加到Page时,FindControl才有效. public partial class Default : System.Web.UI.Page
{
protected void Page_Load(object sender,EventArgs e)
{
var myPanel = new Panel();
var textField = new TextBox
{
ID = "mycontrol"
};
myPanel.Controls.Add(textField);
Controls.Add(myPanel);
// foundControl is not null anymore!
var foundControl = myPanel.FindControl("mycontrol");
}
} (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net – 如何使用JSON方法序列化javascript对象
- 从ASP.Net MVC访问Active Directory使用C#
- asp.net-mvc – MVC HTTPS localhost Chrome连接不安全NET
- asp.net简单生成XML文件的方法
- asp.net操作xml增删改示例分享
- asp.net-core – 为什么我的JWT承载认证在令牌表示5分钟后将
- 使用ASP.NET创建精灵图像
- asp.net-web-api – WebAPI 2.2不支持substringof函数
- ASP.NET VNext类库System.Runtime.Serialization
- asp.net-web-api – 当启用CORS时,ASP.NET Web API中的异常
推荐文章
站长推荐
- asp.net – MVC [HandleError] HandleErrorAttri
- 使asp.net应用程序符合IPv6标准
- asp.net – 如何设置sqldatasource参数的值?
- asp.net-mvc-4 – 带ID的Html.Actionlink
- asp.net-mvc – 路由是在我的区域中找到控制器,但
- asp.net-mvc-3 – ASP.Net MVC 3:在哪里处理会话
- asp.net – 使用itemtemplate动态地将列添加到Gr
- asp.net-mvc – 使用AutoMapper的控制器上的单元
- asp.net-mvc – 控制器和操作方法之间丢失的会话
- asp.net – 使用Visual Studio 2015检测gulp中的
热点阅读
