0

テキストボックスがあります。

<input runat="server" type="hidden" value="0" id="input1" name="input1_name">

私はdivを持っています。

<div id="div1"> some content </div>

ページの読み込み時に読み込まれる関数がある別の .js ファイルがあります。その関数には次のものがあります。

$("#div1").click(function(e){ definition; });

上記の入力コントロールのクライアント ID を上記のシナリオのクリック ハンドラーに渡したいのですが、上記の JavaScript ファイルでプロパティ ClientID を使用できませんでした。残りはすべて正常に機能しています。

aspxページのコントロールのクリックハンドラーにパラメータをjavascriptファイルに渡す方法を教えてください(ClientIDを取得する方法で)。

これは.NET上にあります。

ここにさらに詳細を投稿する必要がある場合に備えて、あいまいに見えるものがある場合はお知らせください。

4

1 に答える 1

3

使用する ASP.NET のバージョンに応じて、いくつかのオプションがあります。

ASP.NET 4.0 より前では、次のようなことができます。

<script type="text/javascript">
    function DoSomething(){
        alert('<%= Control.ClientID %>');
    }
</script>

ASP.NET 4.0 では、新しい機能が導入されました: ClientIDMode:

<asp:TextBox ID="myCustomId" runat="server" Width="65%" ClientIDMode="Static" />

出力します:

<input id="myCustomId" style="width: 65%" name="ctl00$MasterPageBody$ctl00$txtEcho2" />

staticClientIDModeを使用すると、JavaScript で Id を問題なく使用できます。

さまざまなオプションについて説明している素敵なブログを次に示します。ASP.NET 4.0 ClientID の概要

于 2012-09-28T07:01:38.680 に答える