2011-02-11 18 views
0

私はASP.NET MVCを試してみることにしました。これは、Web開発の経験がほとんどないためです。私はVisual StudioでMVC 2.0プロジェクトを作成しました。いくつかの異なる.aspxページが含まれています。彼らはコードとHTMLの両方を混ぜているようです:ASP.NET MVCのHTMLとC#コードの両方の.aspxファイル - 正しいですか?

<% using (Html.BeginForm()) { %> 
    <%: Html.ValidationSummary(true, "Login was unsuccessful. Please correct the errors and try again.") %> 
    <div> 
     <fieldset> 
      <legend>Account Information</legend> 

      <div class="editor-label"> 
       <%: Html.LabelFor(m => m.UserName) %> 
      </div> 
      <div class="editor-field"> 
       <%: Html.TextBoxFor(m => m.UserName) %> 
       <%: Html.ValidationMessageFor(m => m.UserName) %> 
      </div> 
      ... 

この標準的な方法はありますか?または、HTMLとコードを完全に分離する必要がありますか?

ありがとうございました

+0

標準に反して、私はそれがあってはならないという意見です。 .NET MVCを魅力的でないものにするのは、これだけです。それは乱雑です。そして、ファイルを読むことができなくなります。私はこれをしないフレームワークを探してきました。そして、私が見つけられなければ。私は1つを構築します。 – b01

答えて

2

これは絶対的な標準です。ビューからの完全に廃止されたプログラミングロジック(さらにプレゼンテーションロジック)という古い概念は、歴史の残余物です。

+0

私はこれについて興味があります。なぜ思考の変化、それでは? –

+1

元のアイデアは、現実世界の問題を実際に解決しようとするのではなく、イデオロギー的な格言から導き出されたものだからです。 (別の言い方をすれば、私たちは業界として、それを試してみた(完全な分離)、それが欲しいと思った。) –

+1

Kirkのスポット。 Webフォーム、そして総コード/ HTML分離の考え方は理想的でした。実際には、「クリーンコーディング」が悪質なハックジョブに変わった回数を数えることはできません。なぜなら、私は分離の極限に従おうとしたからです。カスタムデータグリッドを構築することから、C#変数をフロントエンドに簡単にアクセスできるようにするだけです。急速にAJAXコールやページ・ポストの混乱に陥る傾向にありました。 – guildsbounty

2

はい、ASP.NET MVCビューでは一般的です。

1

これはASP .NET MVCの標準です。このコードは特に、そのようなマークアップでインラインに配置されるはずのHTMLヘルパー拡張です。具体的な目的は、マークアップの使い方に基づいてマークアップをレンダリングすることです。

このコード/マークアップの組み合わせが少し難解だという考えは、ASP .NET MVCのRazor view engineの背後にある原動力であり、HTMLマークアップ内で少し洗練された表現です。

0

これは標準的な方法です。 MVCプロジェクトはビュー、モデル、コントローラを使用します。動的コンテンツの出力を処理するために、一部のコードをビューに配置する必要があります。ウェブフォームとは異なり、彼らはコードビハインドを使用しません。表示コードのみが表示されます。より複雑な処理がモデルまたはコントローラ内に存在する必要があります。

0

はい。コード全体がModelに基づいてView(html)を作成することを中心にしていることを確認してください。リポジトリに移動してデータを取得するコードがある場合、そのコードはControllerに存在し、Viewに表示する必要があるデータをModelに取り込む必要があります。

関連する問題