【问题标题】:How to set the name attribute of an element in ASP.NET which is not equal to its ID attribute如何在 ASP.NET 中设置不等于其 ID 属性的元素的名称属性
【发布时间】:2014-09-30 11:32:14
【问题描述】:

我有一个代码,我必须使用 HTML 元素而不是 ASP.NET 元素。因此,因为我想访问 CodeBehind 中的元素,所以我将它们的所有属性都设置为 runat=server

如您所知,ASP.NET 将元素的name 属性更改为CT100$MainContent$IDNameOfThatElement 之类的属性。如何防止ASP.NET 更改它?因为 JQuery 的东西,我必须有一些其他的名字......

例如ASP.NET 在以下代码中将name 属性从required 更改为CT100$MainContent$PaymentCode

<div class="field">
   <input type="text" runat="server" name="required" id="PaymentCode" />
</div>

提前感谢。

【问题讨论】:

    标签: asp.net webforms


    【解决方案1】:

    您必须添加 ClientIDMode="Static"

    例子:

    <asp:Panel ID="myPanel" runat="server" ClientIDMode="Static">
    </asp:Panel>
    

    【讨论】:

      【解决方案2】:

      据我所知,您无法在不跳过一些环节的情况下覆盖 name 属性。您可以做的是创建一个 controlAdapter,它可以控制将呈现哪些属性以及如何呈现。

      查看this 答案,了解如何实现您的目标。

      【讨论】:

        猜你喜欢
        • 2017-03-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-07-10
        • 1970-01-01
        相关资源
        最近更新 更多