2

ブール値をHiddenFieldASP.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="" />

[...]

編集

問題は、コントロールのIDが見つからないことです。 Error 311 Name 'IsAddingNewCauseField' is not declared.

4

2 に答える 2

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
于 2011-06-15T19:06:25.407 に答える
0

HiddenField 値のプロパティ タイプは String です。get で IsAddingNewCauseField.Value を Boolean に変換し、set アクセサーで value.ToString() を呼び出す必要があります。

于 2011-06-15T18:50:17.823 に答える