我有一个aspx使用母版页和.net 4.我在4种不同的表格上使用相同的代码。我已经从其他正在运行的表单中复制并粘贴了它。这是代码。
listview名为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
复选框在显示时不会显示为已选中。在页面渲染后进行检查。
答案 0 :(得分:0)
将AutoPostback =“true”添加到您的复选框,以便发布更改后的控制
<asp:CheckBox ID="chkChecked" runat="server" Checked='<%#eval("Checked") %>' AutoPostback="true"/>
答案 1 :(得分:0)
我发现了问题。我忘了在page_Load上执行if page.ispost = true .. listview被重新填充,因此由于重新加载而未选中复选框。