3

空のMVC2プロジェクトを作成するだけです。エリアとコントローラーおよびビューを追加します。T4MVCファイルをプロジェクトに含め、カスタムツールを実行します。

エリア内のビューのViewNamesを除くすべてが生成されます。

私のツリー構造:

エリア

  • 私のエリア
    • コントローラー
      • MyTestController.cs
    • ビュー
      • MyTest
        • MyTestView.aspx
      • MySecondTestView.aspx

ご覧のとおり、Viewsフォルダーとコントローラーによって指定されたフォルダーに直接ビューを設定できます。

誰かがこのようなことを経験しましたか?

4

2 に答える 2

2

T4MVCは、エリア内のビューへのアクセスを確実にサポートします。新しいプロジェクトで次のことを試しました。

  • 'Stuff'という名前のエリアを作成します
  • そこにFooコントローラーを作成します
  • そのコントローラーで、Index()を右クリックし、ビューを生成するように依頼します
  • T4MVCカスタムツールを再実行します

その後、私は次のいずれかを書くことができます:

    public virtual ActionResult Index()
    {
        return View(Views.Index);
    }

また

    public virtual ActionResult Index()
    {
        return View(MVC.Stuff.Foo.Views.Index);
    }
于 2010-10-29T17:15:04.177 に答える
0

ASP.NET MVC 2は、名前の規則を使用してビューをコントローラーアクションにリンクし、すぐに使用できます。これらの規則により、コントローラー内のアクションのデフォルトビューを見つけることができます。

たとえば、MyTestController.csにはアクションがあります。テストが1つだけあるとしましょう。

デフォルトでは、MVCフレームワークはMyArea / Views/MyTestフォルダーでTest.aspxというビューを検索します

そこに見つからない場合は、/ MyArea / Views/Sharedの下にあるビューTest.aspxを探します。

次に、/ Views/Sharedを検索します。

[1つの場所が欠落している可能性があります。4つあると確信していますが、もう1つの場所を思い出せません...とにかく、原則は成り立ちます]

これらの場所のいずれにもTest.aspxが見つからない場合は、文句を言います。

あなたはこれらの慣習と戦っているようです。そして、それはあなたをあらゆる種類の合併症に導きます。したがって、MVCに関する優れた本を読んで、MVCがどのように機能するように設計されているかの基本を実際に学ぶのが最善です。

于 2010-10-29T12:34:25.783 に答える