目前在我的项目中,我使用@ Url.Action在锚标签的href属性中创建链接。
例如:
<a href='@Url.Action("Index", "Home", new { id = 10 })' id="btn">Click</a>
这样可行,但生成的URL是......
/home/index?id=10
有没有办法返回网址
/home/index/10
用于搜索引擎优化和审美目的?我使用id和number作为占位符 - 在实际的应用程序中它可以使用字符串代替(所以...
<a href='@Url.Action("Index", "Home", new { name="test" })' id="btn">Click</a>
返回网址
/home/index/test
答案 0 :(得分:3)
您需要确保路由正确。确保你有这样的路线:
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional });
对于您的真实应用程序&#39;,当您使用名为name
的参数时,您将需要一个如下所示:
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{name}",
defaults: new { controller = "Home", action = "Index" });