2008-09-11 4 views
6

私は自分のASP.NET開発チームと協力して、ページをレンダリングするときに「より良い」(クリーナー) HTMLを作成しようとしています。現時点では、.NETは、JavaScriptをページにダンプするような厄介な傾向があり、フォームコントロールでは必須の要件であり、JSが利用できない場合にはフォームが機能しないようにしています。場合によっては、開発時間の見積もりに大きなチャンクを追加することなく、これを克服するために苦労しています。.NET MVCは私に必要なHTML/CSS/JS分離を提供しますか?

私はMVCでStruts with Javaを使って作業していましたが、そのインスタンスでは、HTMLページをそのまま私が望むのと同じように保つことができました。 (この視点は、私は、通常の穴を埋めるために、Javaプログラマに渡し、その後、事前に開発された「最良のケース」静的なHTMLをベースにしています。)

これは本当にうまくいったと我々はいくつかを生成することができました私が見たCMSからの「ベスト」Webページのうちの1つです。 .NET MVCは私に必要な分離を与えることができますか、またはこれをテストするための貴重な開発時間を別に置くことは偽の経済ですか?

.NET MVCが分離、.NETコーディングの実践、ライブラリなどに対する推奨事項を私に与えてくれない場合は、本当に役に立ちます。

答えて

5

ASP.NET MVCフレームワークは、はるかにわかりやすい分離を提供します。 MVCフレームワークにはviewstateなどがないので、JavaScriptがページにダンプされる心配はありません。表示される唯一のJavaScript呼び出しは、手動で追加するものです。

別のフレームワークと同じように、ほとんどの場合、別々のHTML/CSS/JSを使用できます。

+0

注意すべき注意点がありますか? – markedup

+0

これは本当ですか?HTMLを使用し、ASP.NET MVCフレームワークに穴を開けるという観点から見れば、かなり簡単です。 Stephen Waltherのサイトhttp://weblogs.asp.net/StephenWalther/を参考にして、チュートリアルやhttp://asp.net/mvcを参照することをお勧めします –

3

使用するビューエンジンに応じて異なります。はい。

しかし、スタックオーバーフローのページソースを調べれば、これを簡単に確認できます。それは禅園ではありませんが、きれいです。

いくつかのより明確化:

ページのレンダリングはビューエンジンによって行われます。モノレールのように、標準のビューエンジンやnVelocityやBrailのような既存のものを使用することができます。 http://www.chadmyers.com/Blog/archive/2007/11/28/testing-scottgu-alternate-view-engines-with-asp.net-mvc-nvelocity.aspx

ビューエンジンはHTMLの作成を担当しているため、表示される内容は選択した内容によって異なります。しかし、ほとんどのビューエンジンはこの点でバニラASP.Netよりも優れています。

+0

もっと具体的に/例を挙げてください。私はASPのコーダーではないので、あなたが何を意味するのか分かりません。私は私のチームに提示する代替案を研究しようとしています。前もって感謝します。 – markedup

1

@Wrestlevaniaは言った: 本当に参考になるかもしれないなど プラクティス、ライブラリを、コーディング.NET用

任意の提言を。

ASP.Netでコーディングする際に、高いレベルの分離を維持しようとします。 ASP.Netが余分なCSSやJSを私のページに挿入する傾向があるような状況は避けることができます。例:asp:literalの代わりにspanを使用し、asp:buttonの代わりにボタンを使用します。

私が使用する唯一のASPコントロールは、テーブルを作成するために使用されるリピータです。私が必要とするすべての機能は、ASPコントロールと似ています。私はどちらもjavascriptで実装するか、jqueryのようなフレームワークを使用します。

+0

私たちは、この種の制限を部分的に取り組んでいます。しかし、私はASPコントロールを完全に破棄する抵抗(別の問題!)に遭遇しています。現時点でほとんどのJavaScriptコーディングでjQueryを使用していますが、ASPからいくつかのIDを変更するだけで、うまくいきます。ありがとう。 – markedup

0

Asp.Net MVCを使用すると、html/css/jsを個別に保つことができます。

たとえば、HTMLヘルパーは通常、次のようになります.Html。その時点から、すべてのスタイル情報をクラス属性だけに関連付けるように自由に選択できます。

jQueryのようなライブラリでは、通常と同じ方法を検討してください。これは、要素の型、クラス、IDなどに基づいて、ページのロード時の要素にイベント処理ビヘイビアを適用することによって、スクリプト化された機能をjs内およびHTML内に完全に保持する方法の優れた例です。

関連する問題