0

マスター ページと .net 4 を使用する aspx があります。4 つの異なるフォームで同じコードを使用しています。動作している他のフォームからコピーして貼り付けました。これがコードです。

リストビューの名前は lvMisc_Attachment です。チェックボックス コードは次のとおりです。

  <asp:CheckBox ID="chkChecked" runat="server" Checked='<%#eval("Checked") %>' />

これは、誰かがリンクボタンをクリックしたときに発生するコードビハインドです。リンクボタンはMiscAttachment_ItemsChecked関数を呼び出します。

    Private Function MiscAttachment_ItemsChecked() As String
    Dim mString As String = String.Empty
    For Each lv In Me.lvMisc_Attachment.Items
        If CType(lv.FindControl("chkChecked"), CheckBox).Checked = True Then
            If mString.Length = 0 Then
                mString = CType(lv.FindControl("hfMisc_AttachmentID"), HiddenField).Value
            Else
                mString = mString & "," & CType(lv.FindControl("hfMisc_AttachmentID"), HiddenField).Value
            End If
        End If
    Next
    Return mString
End Function

チェックボックスは、チェックされているときにチェックされているように表示されません。ページのレンダリング後にチェックされます。

4

2 に答える 2

0

問題を見つけました。page_Loadでifpage.ispost= trueを実行するのを忘れました。リストビューが再入力されていたため、リロードのためにチェックボックスがオンになりませんでした。

于 2012-09-05T15:32:49.057 に答える
0

チェックボックスに AutoPostback="true" を追加して、変更時にコントロールを投稿します

<asp:CheckBox ID="chkChecked" runat="server" Checked='<%#eval("Checked") %>' AutoPostback="true"/>
于 2012-09-05T15:28:05.097 に答える