按名称(ID)C#查找ASP.NET文本框

时间:2015-04-19 20:50:48

标签: c# asp.net textbox

我想知道是否可以在C#for ASP.NET中按名称查找文本框。

例如此方法中的for

for (int i = 1; i <= counter; i++)
{
    ("txtName" + i).Visible = true;
}

4 个答案:

答案 0 :(得分:3)

您可以使用FindControl按ID搜索控件。请记住,FindControl只能在容器内工作。在您的情况下,如果您的控件位于容器中,请在该容器中执行FindControl。

此链接为您提供有关https://msdn.microsoft.com/en-us/library/y81z8326%28v=vs.140%29.aspx

主题的更多详细信息

假设您使用的是默认模板,则有一个Master页面,其中包含MainContent或body容器。您需要获得对它的引用,然后在其中搜索控件。

var container = Master.FindControl("ContentPlaceHolder1");
var control = container.FindControl("txtNaam1");

如果控件位于不同的容器中,则需要获取对该容器的引用并在其中进行搜索。

答案 1 :(得分:0)

我认为Page.FindControl方法就是你想要的。

答案 2 :(得分:0)

代码背后的

(this.FindControl("txtName" + i) as TextBox).Visible = true;

答案 3 :(得分:0)

该线程很旧,但是我也遇到过类似的问题。 对我而言,该文本框位于更新面板中。所以我用下面的代码在aspx.cs中找到它。

var txtBox = updPanelPage.FindControl(btn.CommandArgument) as TextBox;