1

我学习 MVC3 已经有一段时间了,虽然我了解了大部分基础知识,但路由是我似乎无法摆脱的东西。我不确定我是否以正确的方式做/思考它,而我在 stackoverflow/google 上阅读的其他答案似乎只会让我更加困惑。

无论如何,情况就是这样。我有一个解决方案(为这个问题清理了它),我想在我的视图文件夹中创建一个结构,以组织我一直用于我的 asp.net webforms 项目的结构中的所有内容。

解决方案

无论如何,我想知道是否有可能获得这种结构,在那里我可以将所有部分视图组织到一个名为 UserControls 的特定子文件夹中,其中有更多子文件夹,我可以将我需要的每个部分视图分组特定页面。

理想情况下,我的 Views 文件夹将包含 2 个文件夹:Pages 和 UserControls,我需要的所有内容都将放入子文件夹或子子文件夹中。

好的,如果这是可能的,我将如何开始路由呢?我一直在尝试多种方法来获得任何结果,但它们都以 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

您可以手动返回每个操作结果或部分操作结果的视图文件。

我还建议将“UserControls (PartialViews)”文件夹更改为仅 PartialViews。

例如

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