Как в C # получить доступ к элементам asp: textbox с именами динамических переменных? Код, который я предоставляю, по какой-то причине не работает. Метод createContact вызывается при нажатии кнопки. Я занимаюсь рефакторингом, и, возможно, мне также следует добавить текстовые поля динамически?
Пример кода:
перед:
<asp:TextBox runat="server" ID="OwnerFirstName" class="handleLongField"></asp:TextBox>
<asp:TextBox runat="server" ID="OwnerLastName" class="handleLongField"></asp:TextBox>
<asp:TextBox runat="server" ID="AdminFirstName" class="handleLongField"></asp:TextBox>
<asp:TextBox runat="server" ID="AdminLastName" class="handleLongField"></asp:TextBox>
and more of this kind
код позади:
public bool createContact(CONTACT_ROLES role)
{
String prefix = "";
switch(role)
{
case CONTACT_ROLES.ADMIN :
prefix = "Admin";
break;
case CONTACT_ROLES.OWNER :
prefix = "Owner";
break;
case CONTACT_ROLES.BILLING :
prefix = "Billing";
break;
case CONTACT_ROLES.TECH :
prefix = "Tech";
break;
}
Contact contact = new Contact();
contact.firstName = ((TextBox)this.FindControl(prefix + "FirstName")).Text;
contact.lastName = ((TextBox)this.FindControl(prefix + "LastName").Text;
}