私は (サーバー側の JavaScript を使用して) かなり広範なクラシック ASP のバックグラウンドを持っており、私の会社は最終的に (最終的に) ASP.Net (C# を使用) ですべてを再コーディングする方向に進んでいます。私は、Classic ASP の優れたプログラミング プラクティスをよく理解しており、通常は "正しい" 方法でコーディングするように努めています。私は ASP.Net チュートリアルを読んでいて、基本をかなり理解しているように感じます。私は、クライアント側の JavaScript を外部の js ファイルに分離したり、外部の css ファイルのマークアップの外側でスタイリングを維持したりすることについて、適切な規律を持っています。最終的にページのマークアップになるものから C# コードを分離することは、私にとって理にかなっています。< asp:button > の作成
ただし、次のように Classic ASP で行っていたような単純なことを行う方法について頭を悩ませています。
<%
if (condition) {
%>
<input type="button" value="click me" onclick="dosomething()" />
<%
}
else {
%>
<span>You don't have permission to see the button</span>
<%
}
%>
上記の条件付きのものをコード ビハインド ページにどのように適合させるべきかを理解するのに苦労しています。両方の状況でボタンを表示する場合は、<asp:button>
オブジェクトを作成し、それに応じてコード ビハインド ページでスタイルを設定しますが、上記の例では、条件が true の場合にのみボタンを表示し、true の場合にスパン ブロックを表示しています。間違い。
コード ビハインド ページにすべての C# コードを配置する必要がないことはわかっています。<% %>
タグは、Classic ASP と同じように使用できます。しかし、そうすると、コード ビハインド ページの関連性が低下するように思えます。たとえば、外部の CSS スタイルシートを使用してページのスタイルを設定し、同時に個々のタグでインライン スタイルを使用できることを私は知っています。しかし、これは悪い習慣だと思います。その要素に影響を与える関連スタイルを見つけるために、マークアップと css ファイルのどちらを調べればよいかわからない場合、後でその要素のスタイルを調整する必要がなくなります。
マークアップとコード ビハインド ページについても同じことが言えると思います。2つを混ぜなければならないのは必要悪ですか、それとも私が上で示していることを行うためのより良い方法はありますか?