Как динамически построить имя элемента управления в ASP.NET? - PullRequest
0 голосов
/ 02 марта 2011

Я перебираю массив:

Dim dbConfig As New pbu_housingEntities
    Dim possible() As String = {"FROD", "FRCD", "SOOD", "SOCD", "JROD", "JRCD", "SROD", "SRCD", "SR5OD", "SR5CD"}
    For Each value As String In possible
        Dim current_value = value
        Dim exists = From p In dbConfig.Configs _
                     Where p.Description = current_value
                     Select p

        If exists.Count.Equals(0) Then
            Dim create As New Config
            create.Description = current_value
            dbConfig.Configs.AddObject(create)
            dbConfig.SaveChanges()
        Else
            Dim update_query = (From p In dbConfig.Configs _
                                Where p.Description = current_value _
                                Select p)
            update_query.First.Description = current_value
            update_query.First.dateValue = 
        End If
    Next

В конце массива вы можете увидеть update_query.First.dateValue =, я хотел бы сделать что-то вроде этого:

update_query.First.dateValue = "txt" + current_value + ".Text"

Но я не хочу, чтобы он возвращал литерал txtcurrent_value.Text, а скорее возвращал текстовое значение txtcurrent_value.Text.Это легко сделать, если вы знаете каждое имя элемента управления - но в этом случае я выполняю итерацию, в противном случае я мог бы сделать:

update_query.First.dateValue = txtNameofControl.Text

1 Ответ

2 голосов
/ 02 марта 2011

Получить ссылку на элемент управления следующим образом:

TextBox tb = Page.FindControl("txt" + current_value) as TextBox;
update_query.First.dateValue = tb.Text;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...