正如标题所说。
我有一个路由设置并且工作正常,当没有指定时,它提供默认操作。我只想隐藏URL中的操作,因为它不必要的混乱。
设置" ActionName"参数null
或""
只会导致当前页面的操作被替换 - 这不起作用。
我愿意使用@Html.ActionLink()
,如果这样可以得到我所需要的。
我的路线定义是
routes.MapRoute(
name: "MyBookRoute",
url: "Book/{id}",
defaults: new { controller = "Book", action = "Index" }
);
如果所有其他方法都失败了,我想我可以手动写出hrefs,但这对Razor来说应该不是一件难事。
有没有其他人遇到这个并知道该怎么做?
答案 0 :(得分:2)
根据您的路线定义,然后
@Url.Action("Index", "Book", new { id = 1 })
或
@Html.ActionLink("Your link text", "Index", "Book", new { id = 1 }, null)
将从生成的网址中删除操作名称。