ASP.NET:クライアントIDの代替としてのCssClass

ASP.NETでは、要素のクライアントIDを予測することは非常に困難です。つまり、サーバーコントロール<asp:TextBox />



のIDを設定できる場合、 <input type=”text” />



の対応する要素がどのIDになるかを予測することはかなり困難です。 多くの場合、レンダリングされた要素のIDを知る必要があります。 しかし、このように見えますctl00_contentBody_txtStreet.



この難しさを克服する方法はいくつかありますここで説明します 。 それらはすべて、面倒な構成を記述するか、独自のコントロールを作成する必要があります。 しかし、クライアントIDを取得する別の非常に簡単な方法があります。



きっと、HTMLタグのクラス属性に対応するCssClass



サーバーコントロールのCssClass



属性を覚えているでしょう。 確かに、多くの人がjQueryを使用し、指定されたクラス名を持つ要素を取得できるセレクターを知っています。 では、これらすべてを組み合わせてみませんか?



そして、全体としては次のようになります。



<asp:TextBox ID="txtStreet" runat="server" CssClass="txtStreet" />







CssClassプロパティに一意の値を与えるだけです



そして、あなたはすでにJavaScriptを使用して入力値を取得することができます



alert($('.txtStreet').val());







とても簡単です。 ただし、このセレクタはすべてのHTMLタグを反復処理することを覚えておく価値があります。これは、大きなページの場合、時間がかかる場合があります。 したがって、jQueryで検索するタグを指定する価値がありますが、これは単純に行われます。クラスセレクターの前にタグ名を追加するだけです。



alert($('input.txtStreet').val());







クライアントIDの予測が容易になるため、ASP.NET 4.0ではこれを行う必要はありません。



All Articles