Поскольку мы не знаем, как выглядит ваш ASPX, мы вроде как стреляем в темноте.
Предполагая, что у вас есть aspx, похожий на этот
<form id="form1" runat="server" DefaultFocus="formVw$txtName">
<div>
<asp:FormView ID="formVw" runat="server">
<ItemTemplate>
Name:
<asp:TextBox ID="txtName" runat="server"
Text='<%# Eval("FirstName") + " " + Eval("LastName") %>' />
</ItemTemplate>
</asp:FormView>
</div>
</form>
Вы бынайдите такой элемент управления
TextBox tb = this.FindControl("form1$formVw$txtName") as TextBox;
if (tb != null)
{
//Access TextBox control
}
Код, который вы первоначально разместили, ищет элемент управления в Form
, что означает, что если у вас есть другой элемент управления (например, FormVw
), то ваш код не найдетвложенное текстовое поле.
РЕДАКТИРОВАТЬ
Вы сказали, что ваша форма выглядит следующим образом
<form runat="server" id="form1">
<p>
<label for="passwordStr">Password</label>
<input type="text" textmode="password" id="passwordStr" name="passwordStr" maxlength="50">
</p>
</form>
Измените ее на
<form runat="server" id="form1">
<p>
<label for="passwordStr">Password</label>
<asp:TextBox runat="server" TextMode="password" ID="passwordStr" maxlength="50">
</p>
</form>
Затемполучить доступ к полю пароля, как это
string password = passwordStr.Text;