【发布时间】:2014-12-18 18:29:42
【问题描述】:
我有一个现有的网络表单项目。我从 Nuget 添加了 MVC5,并添加了以下内容:
_Viewstart.cshtml
Shared
_Layout.cshtml
Areas
Test
Controllers
TestController.cs
Views
Test.cshtml
我的控制器:
public class TestController : Controller
{
[Route("Test/Test")]
public ActionResult Test()
{
return View();
}
}
我的Global.asax:
AreaRegistration.RegisterAllAreas();
BundleConfig.RegisterBundles(BundleTable.Bundles);
RouteConfig.RegisterRoutes(RouteTable.Routes);
然而,当我导航到 /Test/Test 时,我得到 404 not found。我错过了什么?
更新 我最终基于模板化的 MVC5 项目在我的 web.config 中添加了一些东西,现在我已经点击了控制器方法并定位了视图。我现在正在处理其他事情,但我相信它与 MVC 配置无关,所以我认为它真的“那么简单”。
【问题讨论】:
-
我很确定 MVC 项目可以提供 WebForms 页面,但反过来不行。如果我错了,朝我的脸开枪。
-
这里有很多关于转换和集成的好信息:rachelappel.com/integrating-aspnet-web-forms-and-aspnetmvc
-
MVC 不仅仅是安装 nuget 包。您还必须安装 Razor、路由和一堆其他东西。最重要的是,您需要进行大量 web.config 更改。您可以从 roger 的消息开始,但这是针对 MVC4 而不是 MVC5,所以请记住这一点。
-
@BrianDriscoll 你错了。作为One ASP.NET 的一部分,每个Web 应用程序项目都是简单的ASP.NET,您可以在一个项目中混合和匹配Web 表单、MVC、Web API、SignalR。仅当您在“新建项目”对话框中使用组合项目模板而不是 VS 2012 模板时,这可能才是正确的(但我不确定)。
-
@SB2055 - 说“我解决了我的问题”而不解释你是如何解决的,这是非常糟糕的礼仪。 Stack Overflow 的意义在于,您的问题和答案不仅可以帮助您,还可以帮助可能遇到相同问题的其他人,而您却拒绝为他们提供解决方案。
标签: c# asp.net asp.net-mvc webforms