未生成区域中的T4MVC MVC2视图

时间:2010-10-29 07:04:50

标签: asp.net-mvc-2 views t4mvc areas

我只是创建一个空的MVC2项目。添加区域和控制器以及视图。将T4MVC文件包含到项目中并运行自定义工具。

除了区域中的视图的ViewNames之外,所有内容都会生成。

我的树形结构:

区域

  • MyArea
    • 控制器
      • MyTestController.cs
    • 浏览
      • MyTest的
        • MyTestView.aspx
      • MySecondTestView.aspx

我可以直接在Views文件夹中以及控制器命名的文件夹中查看视图..

有没有人经历过这样的事情?

2 个答案:

答案 0 :(得分: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);
    }

答案 1 :(得分:0)

ASP.NET MVC 2开箱即用,使用命名约定将视图链接到控制器操作。这些约定允许它为控制器中的操作找到默认视图。

例如,MyTestController.cs将有动作。可以说它只有一个,测试。

默认情况下,MVC框架将在文件夹MyArea / Views / MyTest

中查找名为Test.aspx的视图

如果在那里找不到它,它将在/ MyArea / Views / Shared

下查找Test.aspx视图

然后它会查看/ Views / Shared。

[我可能会错过一个位置,我确定有4个,但不记得另一个......无论如何,原则就是这样)

如果在任何这些位置找不到Test.aspx,它会抱怨。

您似乎正在与这些惯例作斗争。这将导致你遇到各种各样的并发症。因此,最好阅读一本关于MVC的好书,并真正学习MVC如何工作的基础知识。