添加多个参数时,网络500错误与mvc路由

时间:2012-09-02 22:57:14

标签: asp.net-mvc-3 routing

我正在尝试为博客实现一些路由我希望url显示多个参数但是我不断得到500个网络错误的负载而且它似乎开始在不同的地方寻找jquery和图像当我得到我想要的路线。

继承路线

routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
    "Events",
    "Post/{action}/{id}/{categoryName}/{blogTitle}",
    new { controller = "Post", action = "Detail", id = "", 
          categoryName = "", blogTitle = "" }
);

继承人控制器

public ActionResult Details(int id, string categoryName, string blogTitle)
{
    SitePosts posts = new SitePosts();
    Post post = posts.GetPost(id);

    ViewBag.IsAdmin = IsAdmin;
    return View(post);
}

这是我在cshtml razor helper中使用的链接

<a href="@Href("~/Post/Details/" + post.ID + "/" + post.Category.CategoryName + "/" + post.Title)">

如果我执行重定向操作,同样适用 return RedirectToAction(“Details”,“Post”,new {id = uid,categoryName = post.Category.CategoryName,blogTitle = UrlEncoder.ToFriendlyUrl(post.Title)});

请我知道为什么会这样 我有一个关于尝试查找javascript和图像的大量http获取错误的屏幕打印 在post / details / content / jquery等等但它不会让我发布

1 个答案:

答案 0 :(得分:0)

尝试使用Html ActionLink助手而不是自己创建。此外,您可以调整路由表并省略您传递的值,您不需要使用=“”语法在路由中声明这些值,只需将它们保留在路由表达式中。

路线表

routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
    "Events",
    "Post/Detail/{id}/{categoryName}/{blogTitle}",
    new { controller = "Post", action = "Detail" }
);

查看 - 创建链接

    @Html.ActionLink("DisplayText", "Detail", new{controller="Post", id = post.ID,
 categoryName=post.Category.CategoryName, blogTitle = post.Title})