我再次。
我正在尝试在我的视图中呈现链接,但参数将呈现为查询参数。也就是说,我想:
http://mysite/Discussion/AddMessage?guid=12345&title=MyTitle
呈现为
http://mysite/Discussion/AddMessage/12345/MyTitle
我怎样才能做到这一点?
标记
答案 0 :(得分:0)
是您可以使用RouteLink
在Route
的防御之后,您需要在RouteConfig中首先添加一个名称如下的新DefaultRoute
: -
routes.MapRoute(
name: "NewRoute",
url: "{controller}/{action}/{guid}/{title}",
defaults: new
{ controller = "Discussion",
action = "AddMessage",
guid = UrlParameter.Optional,
title = UrlParameter.Optional }
);
然后创建RouteValueDictionary
以添加您的路线值,然后使用RouteLink
的{{1}}扩展名进行渲染..
HtmlHelper
生成的超链接将生成为
@{
var dict = new RouteValueDictionary();
dict.Add("guid", "someguid");
dict.Add("title", "sometitle");
}
@Html.RouteLink("LinkText", "NewRoute", dict);
答案 1 :(得分:0)
尝试使用RouteLink扩展方法并发送必要的参数。