是否有可能设置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