Как получить и установить значение для и из asp HiddenField

Я хочу добавить логическое значение к HiddenField Контроллер ASP.NET, так что значение может быть сохранено после обратной передачи. Вот мой код:

Public Property IsAddingNewCause() As Boolean
    Get 
        Return IsAddingNewCauseField.value
    End Get
    Set(ByVal value As Boolean)
        IsAddingNewCauseField.value = value          
       '^^^^^^^^^^^^^^^^^^^^^this is where I want to set the HiddenField's value!
    End Set
End Property

ASP.NET разметка

<asp:ListView ID="lstNewCause" runat="server" DataSource="..." >
    <EditItemTemplate>
                <tr>
                    <td>
                        <asp:HiddenField ID="IsAddingNewCauseField" runat="server" Value="" />

[...]

РЕДАКТИРОВАТЬ

Проблема в том, что идентификатор элемента управления не найден:Error 311 Name 'IsAddingNewCauseField' is not declared.

2 ответа

Решение

Я считаю, что вам нужно искать элементы управления списками для этого. Элемент управления не получает запись конструктора и существует только при динамическом создании. Я могу ошибаться, так как я разговариваю по телефону и не могу проверить.

Отредактируйте включенный код, он будет в том же духе.

Protected Sub lstNewCause_ItemUpdated(sender As Object, e As ListViewUpdatedEventArgs)

    Dim l As ListView = DirectCast(sender, ListView)

    Dim item As ListViewItem = lstNewCause.Items(l.SelectedIndex)

    Dim IsAddingNewCauseField As HiddenField = DirectCast(item.FindControl("IsAddingNewCauseField"), HiddenField)

    '...do your stuff


End Sub

Тип свойства значения HiddenField - String. Вы должны преобразовать IsAddingNewCauseField.Value в Boolean в методе get и call value.ToString() в методе доступа set.

Другие вопросы по тегам