C # Доступ к ASP.NET текстовое поле с динамическим именем?

Как в 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;
}
0
задан Tim 8 June 2011 в 16:34
поделиться