我有一个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”的尝试都不起作用(只是得到“Not Found”错误)
然后我将此文件移至App_Code
,它运行正常。我很高兴我得到了一些工作,但我宁愿遵循名为Controllers
的文件夹中的控制器类的惯例。
我可以在某处设置一些魔术设置,以便开始将Controllers
识别为代码文件夹吗?
答案 0 :(得分:5)
如果项目配置为网站项目,则所有代码文件(* .cs)必须位于〜/ App_Code或其子文件夹中。如果项目是Web应用程序项目,代码文件可以在项目中的任何位置进行,并由VS编译到最终位于〜/ bin目录中的DLL中,然后由ASP.NET加载。
MVC专门面向Web应用程序项目(WAP),因此我建议创建一个新的WAP并将所有文件复制到该文件中,然后从那里开始。