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

在asp.net中设置ClientID

  •  9
  • ebattulga  · 技术社区  · 15 年前

    是否可以设置 ClientID

    7 回复  |  直到 7 年前
        1
  •  19
  •   Michael La Voie Frederik Gheysels    11 年前

    好消息是在VS2010.NET4中,您将 complete control over Client IDs !

    对于当前版本的.Net,您仍然可以提前提交。我想您需要JavaScript的ID。如果是这样,只需按如下方式获取ID:

    <script type="text/javascript">
        var myTextBox = $('#<%=TextBox1.ClientID%>');
    </script>
    
        2
  •  3
  •   Chetan S    15 年前

    我建议你不要这样做,除非你确定你想这样做,但有一种方法。您可以覆盖 ClientID 属性从服务器控件中删除。

    public override string ClientID
    {
        get { return "whatever"; }
    }
    

    但正如其他人所指出的,你不能从外面做这件事。

        3
  •  3
  •   Ahmad Mageed    15 年前

    那是不可能的。客户端ID由ASP.NET生成。从…起 MSDN :

    ClientID值由以下内容生成: 将 父控件。如果 未指定控件,为 使用自动生成的值。

        4
  •  1
  •   anishMarokey FIre Panda    15 年前

    Control.ClientID

    编辑:但在VisualStudio2010(.NET4.0)中,这是可能的

        5
  •  1
  •   Lisetsky Val    13 年前

    如果你想 完全关闭ClientID 你可以用 this trick -它适用于任何非回发控件

        6
  •  0
  •   Ryan Hoffman    15 年前

        7
  •  0
  •   Rafael Emshoff    11 年前

    对于VS 2010,.NET 4.0:

    ctrl.ClientID="stringID" 您将得到一个错误,即ClientID是只读的。您可以使用 ClientIDMode -它定义了设置ClientID的算法:

    ctrl.ID = "IDstring";
    ctrl.ClientIDMode = ClientIDMode.Static;   //ClientID value is set to the value of ID
    

    html标记将用控件的ID标记控件的html。因此,您可以从后面的代码中获得一定程度的控制。

    推荐文章