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

问题描述 投票:1回答:4

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

例如,for在这个方法中:

for (int i = 1; i <= counter; i++)
{
    ("txtName" + i).Visible = true;
}
c# asp.net textbox
4个回答
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");

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


0
投票

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


0
投票

代码背后:

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

0
投票

这个帖子很旧,但我也遇到过类似的问题。对我来说,文本框位于更新面板中。所以我使用下面的代码在aspx.cs中找到它。

var txtBox = updPanelPage.FindControl(btn.CommandArgument) as TextBox;
© www.soinside.com 2019 - 2024. All rights reserved.