是否可以设置任何asp.net服务器控件的 ClientID ?我怎么能这样做?

有帮助吗?

解决方案

好消息是,在VS 2010 .Net 4中,您将拥有完全控制客户端ID

仍然可以使用当前版本的.Net。我假设您需要JavaScript的ID。如果是这样,只需获取ID:

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

其他提示

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

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

但正如其他人所说,你不能从外面做到这一点。

那是不可能的。 ClientID由ASP.NET生成。来自 MSDN

  

ClientID值由生成   连接的ID值   控制和它的UniqueID值   父母控制。如果ID值为   未指定控件,a   使用自动生成的值。

即使我认为在Visual Studio 2008中也不可能。因为 Control.ClientID Property has只得到方法

编辑:但在Visual Studio 2010(.Net 4.0)中,它是可能的

ASP.NET 4在每个控件上都有ClientIDMode属性。 如果您想完全关闭ClientID ,您可以使用此技巧 - 它适用于任何非回发控制

这是一个ASP.NET 4.0功能。

scroll top