0


0

ASP.NET:サーバーコントロールとクライアントコントロールの混在

誰も手伝ってくれる?

私は通常サーバーコントロール、つまりテキストボックスを使用して、サーバー側イベントにアクセスできるようにします。

しかし、サーバー側のイベントにアクセスする必要がなく、たとえばテキストボックスにjqueryまたはjavascriptを配置する場合はどうなりますか。

標準のHTML(クライアントコントロール)を使用できますか?

これは良い習慣ですか?

前もって感謝します

3 Answer


2


シンプルなHTML標準コントロールを使用できますが、ASP.NETのコントロール値にアクセスする場合は、runat = "server tag"を追加する必要があります。以下を参照してください


HTMLコントロールを本当に使用したい場合は、それらを使用できます。 しかし、サーバー側でアクセスしようとする場合、標準のASP.NETコントロールを簡単に使用できます。

JavaScriptを使用してこれらのコントロールにアクセスする場合は、次のようなものを使用できます。

var mytxtele = document.getElementById('<%= mytxtbox.ClientID %>')

つまり、テキストボックス要素を取得し、JavaScriptでそれを操作する方法です。

上記のコードは基本的な考え方であり、どのように機能させるかによって異なります


1


1)サーバー側でコントロールにアクセスしない場合は、サーバーコントロールを使用しないでください。

2)サーバーコントロールを使用すると、初期化からレンダリング、最終的にアンロードまでのライフサイクル全体が実行されます。

3)また、ビューステートのメモリ制約を保存します。


0


はい、標準のHTMLコントロールを使用できますが、asp.netコントロールの方が柔軟性が高く、各コントロールタイプに対して同じHTML出力が得られます。 JQueryを使用する必要があり、コントロールIDに問題がある場合は、次のようなものを記述できるため、ドキュメントを参照してください(asp.netタグのJQueryを想定)。

$('#<%=this.clientId%>').style.display = 'block';

とにかく、JQueryには、彼のID名の一部しか知らないときにも1つのオブジェクトを呼び出すメソッドがあると確信しています(しかし、その方法は覚えていません。) :))