我有一堆带有一堆行的数据网格,但只有一行可以是主要的,所以我在数据网格中添加了一个单选按钮,但是当我渲染页面时,选择了错误的行。更新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
答案 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 & ">"
页脚部分是相同的。