0

我有一个使用母版页和 .net 4 的 aspx。我在 4 种不同的表单上使用了相同的代码。我已经从其他有效的表格中复制并粘贴了它。这是代码。

列表视图名为 lvMisc_Attachment,这里是 Checkbox 代码

  <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 上执行 if page.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 回答