选中的单选按钮为true,但错误行中的选择按钮

时间:2014-12-08 15:22:42

标签: asp.net vb.net datagrid

我有一堆带有一堆行的数据网格,但只有一行可以是主要的,所以我在数据网格中添加了一个单选按钮,但是当我渲染页面时,选择了错误的行。更新SQL工作并更新数据库中的正确行,但是当我呈现页面时,选择了错误的单选按钮。当我检查元素并且正确的行具有checked = true时,所选行的值已检查= false。当我已经设置了检查值时,如何才能选择正确的单选按钮,但看起来总是将所选值设置为网格中的最后一行而不是检查的值=真。

Aspx单选按钮栏:(我用作占位符的标签,将单选按钮组合在一起)

<ItemTemplate>
    <asp:Label ID="rdbPrimary" Text='<%# DataBinder.Eval(Container.DataItem, "Primary")%>' Runat="server" />
</ItemTemplate>

VB datagrid databind:

Protected Sub tblCategories_SelectedIndexChanged(sender As Object, e As System.Web.UI.WebControls.DataGridItemEventArgs) Handles tblCategories.ItemDataBound
    If e.Item.ItemType = ListItemType.AlternatingItem Or e.Item.ItemType = ListItemType.Item Then
        Dim r As Label
        Dim c As Label
        r = e.Item.FindControl("rdbPrimary")
        c = e.Item.FindControl("lblCategoryID")
        r.Text = "<input type=radio name='myradiogroup' value=" & c.Text & " checked=" & r.Text & " >"
    End If

    If e.Item.ItemType.ToString() = "Footer" Then
        Dim a As Label
        a = e.Item.FindControl("rdbAdd")
        a.Text = "<input type=radio name='myradiogroup'>"
    End If
End Sub

1 个答案:

答案 0 :(得分:0)

事实证明,checked = true和checked = false并不是正确的语法。在为输入构建文本时,它应该是单词选中或空白。所以现在我正在测试以查看绑定值是真还是假,然后在字符串中添加checked或nothing,它是否正常工作。将继续测试,但我认为就是这样。

Aspx页面是相同的,

VB页面添加/更新:

Dim s As String = ""
If r.Text.Contains("True") Then
    s = " checked "
End If
r.Text = "<input type=radio name='myradiogroup' value=" & c.Text & s & ">"

页脚部分是相同的。