【问题标题】:Route table issue in MVC 3/4/5 applicationMVC 3/4/5 应用程序中的路由表问题
【发布时间】:2015-07-06 07:39:27
【问题描述】:

假设我们有两个控制器 HomeController 和 DocumentController 和 HomeController 中有“Index”操作方法,DocumentController 中有“Add”操作方法。

在 register route(global.asax) 中有一个 home/index 条目。

但是当我尝试访问 Document/Add 时,它不会抛出任何找不到页面的错误。 理想情况下应该是这样,因为在全局 asax 的注册路由中没有路由“文档/添加”的条目。

这是怎么回事?

HomeController:

public class HomeController : Controller
{
    public ActionResult Index()
    {
        ViewBag.Message = "Modify this template to jump-start your ASP.NET MVC application.";

        return View();
    }
}

文档控制器:

public class DocumentController : Controller
{

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

}

RouteConfig:

public class RouteConfig
{
    public static void RegisterRoutes(RouteCollection routes)
    {
     routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

        routes.MapRoute(
            name: "Default",
            url: "{controller}/{action}/{id}",
            defaults: new { controller = "Home", action = "Index", id =        UrlParameter.Optional }
        );
    }
}

【问题讨论】:

  • 要重现这一点,我们需要控制器声明以及所涉及的操作方法,以及您的路由表的外观(RouteTables.config 文件)。
  • 发布您的路线配置。听起来它正在访问框架提供的默认路由(匹配 {controller}/{action})。
  • 是的,在您发布代码后,您确认没有问题。您正在描述 Default 路由的设计行为。
  • 换句话说,当请求不包含控制器和/或操作时,“home/index”路径只是默认路径。所以http://foo.comhttp://foo.com/homehttp://foo.com/home/index 都在你的HomeControllerIndex 方法中结束。这并不意味着它不会解析其他路径。
  • 我理解你的意思,但我的问题是当 RouteConfig 中没有条目时 MVC 如何解析/调用文档/添加 url。 MVC 如何在路由表中添加 Document/Add。

标签: .net asp.net-mvc asp.net-mvc-3 asp.net-mvc-4 razor


【解决方案1】:

如果你有

    routes.MapRoute(
        name: "Default",
        url: "Home/{action}/{id}",
        defaults: new { controller = "Home", action = "Index", id =        UrlParameter.Optional }
    );

那么是的,当您只有 {baseurl}/

时,将没有默认路由

但据我了解,您的路由有一个可以正确解析的通配符控制器

看看http://www.nuget.org/packages/routedebugger/

@CraigW 在他的评论中总结得很好。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-09-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-26
    相关资源
    最近更新 更多