作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在 gridview 的 RowDataBound
事件上,我在 GridViewRow
内设置 HtmlInputRadioButton
的名称。问题是 asp.net 自动使名称唯一,因此取消对单选按钮的分组。
有办法禁用它吗?
编辑-这是我设置名称的方法:
Private Sub gvFoo_RowDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles gvSecPos.RowDataBound
If Not (e.Row.RowType = DataControlRowType.DataRow) OrElse (e.Row.Cells(0) Is Nothing) Then
Return
End If
Dim drFoo As DataRowView = CType(e.Row.DataItem, DataRowView)
Dim rbFoo As HtmlInputRadioButton = CType(e.Row.FindControl("rbFoo"), HtmlInputRadioButton)
rbFoo.Name = "Foo" 'ASP.NET makes this unique which I do not want
rbFoo.Value = "A Value"
End Sub
生成此 html
<input type="radio" id="ctl00_ContentPlaceHolder1_ucFoo_gvFoo_ctl06_rbFoo" name="ctl00$ContentPlaceHolder1$ucFoo$gvFoo$ctl06$Foo" value="A Value">
<input type="radio" id="ctl00_ContentPlaceHolder1_ucFoo_gvFoo_ctl07_rbFoo" name="ctl00$ContentPlaceHolder1$ucFoo$gvFoo$ctl07$Foo" value="A Value">
而不是
<input type="radio" id="ctl00_ContentPlaceHolder1_ucFoo_gvFoo_ctl06_rbFoo" name="Foo" value="A Value">
<input type="radio" id="ctl00_ContentPlaceHolder1_ucFoo_gvFoo_ctl07_rbFoo" name="Foo" value="A Value">
由于各个单选按钮的名称中包含数字“106”和“107”,因此它取消了它们的分组。
最佳答案
您可以通过覆盖 UniqueID 的 getter 来覆盖单选按钮的名称
private class MyHtmlInputRadioButton : HtmlInputRadioButton
{
public override string UniqueID
{
get
{
return string.IsNullOrEmpty(Name) ? base.UniqueID : Name;
}
}
}
关于ASP.NET 在 GridView 中从代码隐藏设置 HtmlInputRadioButton 名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4617018/
使用 RadioButtonList 时控件,我可以使用以下代码访问我的代码隐藏中的选定值: rbMyButtons.SelectedValue 但是,我想使用 HtmlInputRadioButto
实际上我正在使用一个像这样的aspx 自定义单选按钮控件 我需要接收如下所示的“RenderedNameAttribute”: 例如 asp.net 'System.Web.UI.HtmlCont
在 gridview 的 RowDataBound 事件上,我在 GridViewRow 内设置 HtmlInputRadioButton 的名称。问题是 asp.net 自动使名称唯一,因此取消对单
我是一名优秀的程序员,十分优秀!