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ではこれを行う必要はありません。

Source: https://habr.com/ru/post/J53347/


All Articles