【发布时间】:2020-12-30 19:08:10
【问题描述】:
我正在尝试遍历 GridView 控件。它包含单选按钮,我想根据特定条件设置它的选中属性。但是,findControl 方法不返回任何内容。
这是aspx代码:
<asp:GridView ID="GridViewInfo"
runat="server"
AutoGenerateColumns="False"
DataKeyNames="Result_ID">
<Columns>
<asp:TemplateField HeaderStyle-Width="3%" HeaderText="SELECT">
<ItemTemplate>
<input name="RadioButtonResultID"
id="RadioButtonResultID" type="radio"
value='<%# Eval("Result_ID") %>'/>
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField HeaderText="Characteristics"
DataField="Characteristics" />
</Columns>
</asp:GridView>
后面的代码:
Private Sub HighlightSelectedRow(ByVal id As String)
Dim rowCount As Int32 = 0
For Each row As GridViewRow In GridViewLabInfo.Rows
If (GridViewLabInfo.DataKeys(rowCount).Value.ToString() = id) Then
row.CssClass = "SelectedRowStyle"
'Both of the below lines are failing
TryCast(row.FindControl("RadioButtonResultID"), RadioButton).Checked = True
CType(row.FindControl("RadioButtonResultID"), RadioButton).Checked = True
End If
rowCount = rowCount + 1
Next
End Sub
【问题讨论】:
-
为什么我们不能在这里设置检查值?请提供任何参考。
-
在该控件的标签中放置一个 runat=server。