【问题标题】:How do I keep Selected ListItem from ignoring other ListItems?如何防止 Selected ListItem 忽略其他 ListItem?
【发布时间】:2011-08-16 13:34:07
【问题描述】:

当我运行下面的代码时,If 语句永远不会解析为“True”。即使我选中所有复选框,它也始终将“Assm”显示为 SelectedItem。

那么我如何允许默认选中“Assm”并让代码隐藏看到其他复选框已选中?

<asp:CheckBoxList ID="qualityChecks" runat="server" RepeatDirection="Horizontal" TabIndex="8">
    <asp:ListItem Text="Assm" Selected="True"></asp:ListItem>
    <asp:ListItem Text="Qual"></asp:ListItem>
    <asp:ListItem Text="PMgr"></asp:ListItem>
    <asp:ListItem Text="Plant"></asp:ListItem>
</asp:CheckBoxList>

If qualityChecks.SelectedItem.Text = "Qual" Then
    'Some Code
End If

【问题讨论】:

  • if 语句是否在代码隐藏中?如果有,在哪里?
  • 它位于代码隐藏、aspx.vb 页面中,采用与按钮单击相关联的方法。

标签: asp.net vb.net visual-studio-2008 asp.net-3.5


【解决方案1】:

CheckBoxList 的 SelectedItem 就是这样工作的。
您要做的是遍历 ListItems 并查看它们是否已选中。

For each li as ListItem in qualitychecks.items
  if li.checked and li.text = "Qual" then       
    'some code
  end if
next

【讨论】:

  • 我收到一条摆动线和一个工具提示,上面写着:'checked' is not a member of 'System.Web.UI.WebControls.ListItem
  • 正如您回答的那样,我遇到了答案。有效。谢谢。
【解决方案2】:

尝试创建一个空的 CheckListBox:

    <asp:CheckBoxList ID="qualityChecks" runat="server" RepeatDirection="Horizontal" TabIndex="8">
    </asp:CheckBoxList>

而不是在 Page_Load 上添加 ListItems

Protected Sub Page_Load(sender As Object, e As EventArgs)

    Dim l1 As New ListItem()
    Dim l2 As New ListItem()
    Dim l3 As New ListItem()
    Dim l4 As New ListItem()
    l1.Text = "Assm"
    l2.Text = "Qual"
    l3.Text = "PMgr"
    l4.Text = "Plant"
    If Not Page.IsPostBack Then
        l1.Selected = True
        qualityChecks.Items.Add(l1)
        qualityChecks.Items.Add(l2)
        qualityChecks.Items.Add(l3)
        qualityChecks.Items.Add(l4)
    End If
End Sub

【讨论】:

  • 这对我的问题没有帮助。
【解决方案3】:

试试:

If qualityChecks.SelectedValue = "Qual" Then
    'Some Code
End If

由于您没有为列表项指定任何值,因此它们采用 Text 的值

【讨论】:

    猜你喜欢
    • 2012-08-30
    • 1970-01-01
    • 2021-10-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-27
    • 1970-01-01
    • 2019-08-25
    • 1970-01-01
    相关资源
    最近更新 更多