在asp.net中设置客户端ID(Set ClientID in asp.net)

2019-07-18 02:49发布

是否有可能设置ClientID任何asp.net服务器控件的? 我怎样才能做到这一点?

Answer 1:

好消息是,2010年净VS 4,你必须在客户端的ID完全控制 !

不过对于.NET的当前版本,可以使所致。 我想你需要对JavaScript的ID。 如果是这样,只得到像这样的ID:

<script type="text/javascript">
    var myTextBox = $('#<%=TextBox1.ClientID%>');
</script>


Answer 2:

我会建议反对,除非你确信你想这样做,这样做,但有一种方法。 您可以覆盖ClientID从服务器控件内财产。

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

但是,正如其他人指出的那样,你不能从外面去做。



Answer 3:

这是不可能的。 ClientID的由ASP.NET生成。 从MSDN :

ClientID的值是通过连接控制和它的父控制的UniqueID值的ID值生成的。 如果未指定控制的ID值,则使用自动生成的值。



Answer 4:

即使我认为这是不可能在Visual Studio 2008。 由于Control.ClientID属性只有get方法

编辑:但是,在Visual Studio 2010(.NET 4.0),可以



Answer 5:

ASP.NET 4对每个控制为ClientIDMode属性。 如果你想关闭的ClientID完全可以使用这一招 -它可以用于任何非回传控制



Answer 6:

这是一个ASP.NET 4.0功能。



Answer 7:

对于VS 2010,.NET 4.0:

如果你只是尝试设置ctrl.ClientID="stringID" ,你会得到一个错误,说是客户端ID是只读的。 您可以使用客户端ID控制的价值的ClientIDMode -定义与客户端ID设置的算法:

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

HTML标记将标志着你的控制与控件的ID HTML。 因此,你有一定程度的代码隐藏控制。



文章来源: Set ClientID in asp.net