質問

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値が   コントロールが指定されていない、   自動生成された値が使用されます。

Visual Studio 2008では不可能だと思います。 Control.ClientID プロパティにはgetメソッドのみ

編集:ただし、Visual Studio 2010(.Net 4.0)では可能です

ASP.NET 4には、そのための各コントロールにClientIDModeプロパティがあります。 ClientIDを完全にオフにする場合は、このトリックを使用できます。ポストバック以外のコントロール

これはASP.NET 4.0の機能です。

scroll top