3

我有一个 ASP.NET 应用程序,我正试图将它变成一个混合的 ASP.NET / ASP.NET.MVC 4.0 应用程序。

我尝试创建一个名为“Controllers”的文件夹,并在其中放置一个 .cs 文件:

public class PlayerGroupController : Controller
{
    public PlayerGroupController()
    {

    }

    public string Index()
    {
        return "Hello World!";
    }

    public ActionResult LayoutTemplates()
    {
        return View();
    }
}

任何访问“PlayerGroup/LayoutTemplates”的尝试都不起作用(只会出现“未找到”错误)

然后我把这个文件移到了App_Code,它工作正常。我很高兴我得到了一些工作,但我宁愿遵循控制器类位于名为Controllers.

我可以在某处设置一些神奇的设置,以便它开始识别Controllers为代码文件夹吗?

4

1 回答 1

5

如果项目配置为网站项目,则所有代码文件 (*.cs) 必须位于 ~/App_Code 或其子文件夹中。如果项目是 Web 应用程序项目,代码文件可以放在项目中的任何位置,并由 VS 编译成一个 DLL,该 DLL 最终位于 ~/bin 目录中,然后由 ASP.NET 加载。

MVC 专门针对 Web 应用程序项目 (WAP),因此我建议创建一个新的 WAP 并将所有文件复制到其中,然后从那里开始。

于 2013-02-18T05:55:18.293 回答