2011-01-21 12 views
1

私は新しいプロジェクトを立ち上げており、それについてのヒントを最初からやっています。.NET MVCプロジェクトの構造

は、簡単に言えば、これは私のプロジェクトです:

  1. infoページ/についてのいくつかがあります..その後AboutControllerを作成することをお勧めしたり、私が作るべきかを、私たちについて、接触各ページごとに別々のコントローラー?

  2. ログインが必要なメンバーエリアがあります。このためにエリアを作成するのは良い考えですか? xxx.com/member/stuff/edit/1

  3. 「一般的な」領域を作成する必要がありますか、単に「概要」をルートに入れることはできますか?xxx.com/ xxx.com/general/about/contactの代わりにabout/contact?

  4. マスターページはどうですか?ログインしたときとそうでないときは、ページは非常によく似ています。このために2つのマスターページを持ち、コード(フッタとメニューなど)を部分的に再利用することをお勧めしますか?

  5. 私はMVC 2で少ししか働いていませんでしたが、このような新しいプロジェクトでMVC 2 RCと一緒に行かないのは馬鹿ですか?

いずれの回答やアドバイスも高く評価されます。 はありがとう

答えて

2

/infoページについてのいくつかがあります:、接触が..に良い 勧めしする方法を、次に AboutControllerを作成したり、私はページごとに 別々のコントローラをしなければならない私たちについて ?

私は通常、これらのページを格納するホーム(またはその両方)コントローラを持っています。別々のコントローラは通常は必要ありません。ほとんどの私のサイトでは、これらはPOSTを受け付けないほぼすべての静的コンテンツページなので、コントローラはとにかく非常に薄いです。

にログインする必要があるメンバーエリアがあります。このための領域を作成することは良い考えですか?

この決定はかなり主観的です。いつ、なぜあなたがエリアを望んでいるかを明確に理解していなければ、それを使用しないことをお勧めします。また、あなたのアプリケーションに唯一のログインしているメンバーがいて、それ以外のエリアがあれば、エリアは必要ないようです。

が、私はその後、 「一般」エリアを作成する必要があるだろうか、私はちょうどルートルートで

に「について」 を置くことができ、それは、「一般的な」領域があります。

マスターページはどうですか。ページは と非常によく似ています(ログインしたときは )。 には2つのマスターページがあり、フッタと メニュー)のコードを部分的に再利用するために を試してみることをお勧めしますか?

私はこの状況で2つのマスターを使用しません。私のサイトのほとんどのために変更することすべては、いくつかのヘッダーの内容(またはログアウトリンクにログが存在する)です。

私が代わりにやることは、条件付きで一つの制御または他をレンダリングするためのHTMLヘルパーを作成することです:、私はMVC 2で少しだけ働いてきた

public static class PackageThumbnailHelper 
{ 
    public static MvcHtmlString AuthenticationControls(this HtmlHelper helper) 
    { 
       if (helper.ViewContext.HttpContext.Request.IsAuthenticated) { 
        return helper.Partial(MVC.Shared.Views.LoggedOnAuthenticationControls); 
       } else { 
        return helper.Partial(MVC.Shared.Views.NotLoggedOnAuthenticationControls); 
       } 
    } 
} 

と一緒に行きませんすることは愚かですこのようなブランドの新しいプロジェクトのためのMVC 2 RC?

MVC 2? MVC 3はどうですか? MVC 3は最近リリースされました。これは、カミソリ・ビュー・エンジンを備えており、そのため、私はそれは間違いなく使用して価値があると言うでしょう。 MVC3を新しいプロジェクトに使用しない理由は何もありません。

+0

あなたの答えをありがとう。私はあなたの答えの前にプロジェクトを始めました。そして私は一般的なもののホームコントローラーに行きました。私はメンバーエリアを作成しましたが、今は2つのマスターページを持っています。これは私のためにいくつかの問題を作りました。私はそれを取り除くことを考えています。私はMVC 2 :) MVC 3 RC、ではないことを意味そして、ええ、私はそれのために行って、カミソリはで動作するようにそんなに立派です!また、妥当性検証は非常に優れています。ありがとう – Andreas

関連する問題