我正在尝试为博客实现一些路由我希望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等等但它不会让我发布
答案 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})