ASP.NET-インラインとコードビハインド
-
05-07-2019 - |
質問
この質問をすることで黙示録を開始できたかもしれないことを理解していますが、私の同僚はaspxページで多くのインラインコーディングを使用しています。
ここには正しい方法と間違った方法がありますか?
解決
コーディング標準で別段の定めがない限り。
IMOコードビハインドは懸念の分離に役立ちます。そのため、私はそれを好みますが、1つのファイルを処理するだけでもいい場合があります。
他のヒント
分離コードは、より伝統的で論理的な場所です。動作する場合は動作しますが、aspxで実行するのは我慢できません。
しばらく前に正確な投稿を行いました:
OnDataBindingとインライン:長所、短所、オーバーヘッド
コードビハインドが好きです。通常、すべてのデータバインディング用に#region領域があります。 HTML / CSSの熟練者がHTMLを微調整できるようになり、使用する基本的なコントロールを知り、コントロールの定義でOnDataBindingイベントを定義するだけです。基本的な 'Eval(<! ;。
さて、インラインコードがあり、次にインラインコードがあります。 page_loadの上部にスクリプトブロックがある場合、それで十分です。ただし、マークアップに大量のハチ刺し(<% %>
)を混在させている場合、他のサーバーコントロールのようにそれらのハチ刺しが機能しない場合、最終的に問題が発生し始めます。
個人的には、ランタイムエラーよりコンパイルエラーの方が好きなので、すべてのロジックをコードビハインドに入れます。
ときどき、ページに表示する値が必要なときに<!> lt;%= SomeValue%<!> gt;を配置します。それでも、ラベルを作成して設定することを好みます。
質問を理解したことを確認したい-インラインでは、スニペットのようなものですか?
<a><% some.asp.net.code %></a>
またはページごとに1対2のファイルを意味しますか:
page.aspx
page.aspx.cs
?
私は最初の例で「埋め込み」コードと呼んでいるもののファンではないので、<!> ltを使用して同じファイル内のコードとマークアップを好みます。スクリプトrunat = <!> quot; server <!> quot; <!> gt;
このどちらにも正しい/間違ったものはありません。
いくつかのコードをインラインで記述できます<!> amp;その一部はコードビハインドで作成する必要があります。絶対的ではありません。反対側でそれを書くとき、それがどのように読み取り可能/維持可能になるかに依存します。
編集:言われているように、人間の<!> ampのコードを書きます。付随的にコンパイラのため。
コードビハインドはWPFの唯一の方法であり、一貫性を保つように努めており、より自然に感じられるため、コードビハインドを使用する傾向があります。しかし、それは主観的です。