实际上我正在使用这样的aspx custom radiobutton control

<input type="radio" id="declarableYes" value="Ja" name="declarable" class="form-radio" runat="server" required />


并且我需要接收如下所示的“ RenderedNameAttribute”:

<input value="Ja" name="ctl00$ContentPlaceHolderMain$plcZones$lt$zoneMain$LegalData$declarable" type="radio" id="declarableYes" required="">


例如,通过asp.net'System.Web.UI.HtmlControls.HtmlSelect',可以轻松地通过属性Name获取呈现的controlXy.Name属性,但是对于RadioButton,我只能访问我的“ NonRendert”名称。案例declarable



我提到了Non-Public members,我可以在其中找到RenderedNameAttribute,但我不愿意委托该属性。



我需要此值用于javascript。

最佳答案

我认为您正在寻找UniqueID属性。

从MSDN:


  此属性与ID属性的不同之处在于,UniqueID
  属性包含服务器控件命名的标识符
  容器。


page.aspx

<form id="form1" runat="server">
    <div>
        <uc1:ucRadioButton runat="server" ID="ucRadioButton" />
    </div>
</form>


ucRadioButtons.ascx

<%@ Control Language="C#" AutoEventWireup="true" CodeFile="ucRadioButton.ascx.cs" Inherits="ucRadioButton" %>

<input type="radio" id="declarableYes" value="Ja" name="declarable" class="form-radio" runat="server" required />


这将导致



hth

关于c# - 从HtmlInputRadioButton接收RenderedNameAttribute,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25908031/

10-12 03:07