代码之家  ›  专栏  ›  技术社区  ›  Jason

禁用ASP.NET自动命名

  •  2
  • Jason  · 技术社区  · 16 年前

    是否有方法禁用ASP.NET自动命名?

    例如 :当我的页面上有一个位于母版页而不是命名的控件时

    theLabel

    它被重命名为

    ctl00_ContentPlaceHolder1_clist0_rptSelected_ctl05_theLabel

    这是我不想要的行为。

    3 回复  |  直到 16 年前
        1
  •  3
  •   Larsenal    16 年前

    如果你足够幸运能够以ASP.NET 4.0为目标…

    在page指令中,设置 ClientIDMOde="Static" . 这将发出与控件中的ID完全相同的ID。

    如果你有:

    <asp:Label ID="example" runat="server" />
    

    它将发出此干净的ID:

    <span id="example">something...</span>
    
        2
  •  5
  •   Dave Swersky    16 年前

    这是ASP.NET常见的头痛问题。如果您可以选择ASP.NET 4,则可以使用新的clientID功能自定义命名约定。

    更多信息,由gu提供:

    http://weblogs.asp.net/scottgu/archive/2010/03/30/cleaner-html-markup-with-asp-net-4-web-forms-client-ids-vs-2010-and-net-4-0-series.aspx

        3
  •  1
  •   Joe Ratzer    16 年前

    如果你在用 ASP.NET 4.0 那你就可以了。

    否则就很困难了。如果您想在javascript中使用客户机ID,可以这样做:

    <script type="text/javascript">
        function DoSomething(){
            alert('<%= Control.ClientID %>');
        }
    </script>
    
    推荐文章