gpt4 book ai didi

ASP.NET 在 GridView 中从代码隐藏设置 HtmlInputRadioButton 名称

转载 作者:行者123 更新时间:2023-12-02 12:06:45 24 4
gpt4 key购买 nike

在 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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com