1

私はしばらくの間MVC3を学んでいて、基本のほとんどを理解していますが、ルーティングは私がたむろすることができないように思えるものです。私がそれを正しい方法で行っている/考えているかどうかはわかりません。stackoverflow/googleで読んだ他の回答は、私をもっと混乱させるだけのようです。

とにかくここに状況があります。解決策があります(この質問のためにクリーンアップしました)。ビューフォルダーに構造を作成して、asp.netWebフォームプロジェクトに使用している構造内のすべてを整理したいと思います。

解決

とにかく、私はこの種の構造を取得できるかどうか疑問に思っていました。そこでは、すべての部分ビューをUserControlsと呼ばれる特定のサブフォルダーに編成できます。このサブフォルダーには、必要なすべての部分ビューをグループ化するサブフォルダーがあります。特定のページ。

理想的には、ViewsフォルダーにはPagesとUserControlsの2つのフォルダーが含まれ、必要なものはすべてサブフォルダーまたはサブサブフォルダーに入れられます。

さて、これが可能であれば、どうすればこれをルーティングし始めることができますか?私は結果を得るために複数の方法を試してきましたが、それらはすべて404エラーになります。

これが私の間違ったアプローチである場合、より良い代替案は何でしょうか?

前もって感謝します!

4

2 に答える 2

1

論理的には、これは、次のように実際のビューでパーシャルをグループ化することでより適切に機能します。

/Other
    /Partials
         OtherPartial1.cshtml
         OtherPartial2.cshtml
    Index.cshtml
/Some
    /Partials
         SomePartial.cshtml
    Index.cshtml
    SomeOtherView.cshtml

今、あなたは確かにあなたが提案するように行うことができますが、それは単に他のビューのあなたのヘルパーが彼らが行きたい場所に行くために書くべきより多くのテキストを持っていることを意味します:

IE。

 @RenderPartial("Partials/OtherPartial.cshtml")

VS

 @RenderPartial("~/Views/PartialControls/Other/OtherPartial.cshtml")
于 2012-10-23T21:57:08.070 に答える
1

各actionresultまたはpartialactionresultのビューファイルを手動で返すことができます。

また、「UserControls(PartialViews)」フォルダーをPartialViewsだけに変更することをお勧めします。

例えば

public PartialViewResult OtherPartialView1()
    {
        return PartialView("../PartialViews/OtherViews/OtherPartialView.cshtml");
    }
于 2012-10-23T22:02:24.697 に答える