如何使用C#中的name属性以asp.net形式获取所有项目/控件

时间:2018-10-23 15:22:02

标签: c# asp.net .net

我有一个divfieldset,都以如下asp.net格式命名为“ seeConsent”:

<form role="form" action="" method="post" class="myClass" runat="server" id="myform" style="align-content: center">
        <div class="container" runat="server">
            <div class="row" runat="server">
                ...
                <div class="spec" runat="server">
                   ...
                   <div runat="server">
                       ...
                       <div class="step" runat="server" name="SeeConsent">...</div>
                   </div>
                   ...
                   <fieldset runat="server" name="SeeConsent">...
                   </fieldset>
            </div>
        </div>
        ...
</form>

请注意,我需要在后端的那些字段上执行visible=true/false处理。因此,我需要在aspx.cs文件中循环检查每个控件,检测带有“ seeConsent”名称的控件,并根据从web.config接收到的布尔参数seeConsent设置其可见性。如果它是Windows窗体,它将像这样工作:

foreach (System.Windows.Forms.Control c in this.Controls)
{
    if (c. Name.Equals("SeeConsent"))
        c.Visible = seeConsent;
}

但是,由于它是System.Web.UI.Control,并且没有Name属性。我找不到如何在C#上获取表单内div和字段集的name属性值的方法。我尝试检查c.Page.Request.Form.AllKeys,但是它的值为[string {0}]。

任何建议将不胜感激。

0 个答案:

没有答案