将MVC3集成到webforms - MVC路由不起作用
问题描述:
我已经遵循了此链接上的所有步骤,包括web.config更改和添加所需的程序集。
ASP.Net and Webforms in Harmony 我已经将MVC3安装到webforms项目中,并实现了一个控制器并在Global.asax的Application_Start方法中注册了它的路由。将MVC3集成到webforms - MVC路由不起作用
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
这里是控制器
public class HomeController : Controller
{
//
// GET: /Default1/
public ActionResult Index(int? id)
{
ViewData["Message"] = "Hello from Home controller";
return View();
}
}
我试图调用它的动作(即/首页/指数),但得到404 Not Found错误。
注册其他.aspx表单的路由工作正常。
routes.Add("Home", new Route("Home", new RoutingHandler("/Default.aspx")));
一切工作正常,但(首页/索引)没有显示出来。
答
您可以通过在您的web项目中添加Area
来完成此操作,例如MVC
。然后,你需要注册一个像下面
MVCAreaRegistration.RegisterAllAreas(RouteTable.Routes);
现在添加一个控制器,例如Home
并添加视图Area
在Global
类Global.asax.cs
文件的功能protected void Application_Start(object sender, EventArgs e)
功能说Index
。在索引操作方法上放置一个断点并运行应用程序。在URL类型“.../MVC/Home/Index”中,中断点将被击中。