【问题标题】:custom route .net MVC 4自定义路由.net MVC 4
【发布时间】:2013-08-22 23:26:02
【问题描述】:

我正在尝试一些自定义路由,但是当我尝试访问我的网站时收到 404。

我已经在我的 global.asax 中尝试了这两种方法

public static void RegisterRoutes(RouteCollection routes)
{
    routes.MapRoute(
        name: "Show",
        url: "{controller}/{action}/{trip}/{year}/{user}",
        defaults :new  { controller = "Home", action = "Show" }
        );
}

和

public static void RegisterRoutes(RouteCollection routes)
{
    routes.MapRoute(
        "Default",
        "{controller}/{action}/{trip}/{year}/{user}",
        new { controller = "Home", action = "Show", trip = "", year = "", user = "" }
        );
}

这里是控制器动作方法:

public ActionResult Show(string trip, string year, string user)
{
    ViewBag.imagepath = "/Uploadedimages/" + trip + "/" + year + "/" + user + "/";
    return View();
}

这是我尝试点击它的示例 URL:

http://localhost:31065/home/show/green/2013/hunt

我的 global.asax 中的这些方法都不起作用。我读过的所有内容都会让我相信这应该可行。

我在这里错过了什么?

【问题讨论】:

  • 404 无法准确找到是什么意思?
  • 我添加了您的第一条路线和您的控制器操作,并且该 URL 工作正常。您的Show 视图是否位于Home 文件夹中的Views 文件夹中,例如Views\Home\Show.cshtml?
  • 是的,显示视图在那里。有趣的是,如果我只是去 /home/show,页面就会出现。我已经确定我已经重建了解决方案,但它仍然无法正常工作。
  • 你没有同时使用这两条路线是吗?您是否在默认路由之前定义了您的路由?
  • 哇!事实证明,我的项目中的路由发生在另一个文件(不同于 global.asax)中,称为 reouteconfig.cs。继续并创建一个答案,我会接受它,因为你让我跳出框框思考这个解决方案......谢谢。

标签: asp.net-mvc-4 asp.net-mvc-routing


【解决方案1】:

这是我的RouteConfig,它适用于 URL http://localhost:31065/home/show/green/2013/hunt:

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

        routes.MapRoute(
            name: "Show",
            url: "{controller}/{action}/{trip}/{year}/{user}",
            defaults: new { controller = "Home", action = "Show" }
        );

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

【讨论】:

    猜你喜欢
    • 2013-11-05
    • 1970-01-01
    • 1970-01-01
    • 2015-06-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多