質問

使用するアプリケーションをサポートしています runat="server" テーブルの行を表示/非表示にする場所全体。

たとえば、依存したドロップダウンリストがある場所では、子DDLの列が親DDLで選択される値が表示されるまで隠されます。

それは悪い練習ですか?これを行うためのより良い方法はありますか?

役に立ちましたか?

解決

私が使う runat="server" いつでも必要です。だからあなたもそれを使うことができると思います。 :-)

他のヒント

それは絶対にひどい練習だと思います。まず、新しいデータが必要な場合を除き、コントロールを非表示にして表示するためにサーバーに旅行する必要はありません。

第二に、まともなJavaScriptフレームワークを使用すると、コントロールのID、クラス名、またはCSSセレクターに基づいてショーコントロールを非表示にすることができます。さらに、JavaScriptの投稿/一般的なハンドラーを使用すると、ポストバックなしで必要なデータが提供されます。

jQuery、または他の代替案を使用することをお勧めします。

それはあなたがパフォーマンスをどれだけ気にかけているかに依存します。 Runat = "Server"でマークされているものはすべて、クライアントサイドタグよりも多くの処理を行います。

個人的には、私は以前に使用しました。特に、テーブルセルまたはテーブルの行がサーバーからのデータに依存している状況で。 Hided Fieldを使用してJavaScriptまたはjQueryを使用できますが、隠されたフィールドのサーバーをヒットする必要があるため、あまり購入しません。

標準のHTMLコントロールを備えたRunat = "Server"を使用するのは悪くありません。多くの場合、プレースホルダーを使用してページにコンテンツを表示および非表示にするか、ASP.NET MVCでは、ビュー内で<%...%>などのインラインコードブロックの使用が表示される場合があります。それ自体で、他のデザインの側面を考慮していないので、それは良いことでも悪いことでもありません。

それは、他のサーバーコントロールを含む行を非表示にするために私がしていることです。他のオプションは、ASPを使用することです:パネルまたはその他のコンテナですが、それは利益なしにHTMLを追加します。

必ずしも悪い練習だとは思わない。私は何度も同じことをしました。それは主に個人的な好みだと思います。

全くない。 ASP.NETは、サーバー側でHTMLタグを実行することをサポートしています。あなたの代替手段は、タグをaにラップすることです Panel, 、そしてそれを隠すか見せます。余分な機能を探していない場合、または自分で出力を制御したい場合、サーバーでHTMLタグを実行することは問題ではありません。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top