在ASP.NET MVC5,我怎么能隐藏动作名称时在剃刀使用Url.Action产生一个标签?(In

2019-10-22 17:33发布

正如标题所说。

我有一个路线设置和工作正常,没有指定时,它提供了一个默认的动作。 我只是想隐藏URL中的作用,因为它是不必要的混乱。

设置中“ActionName”参数设置为null"" ,只会导致当前页面的动作被取代,而不是-这是行不通的。

我打开使用@Html.ActionLink()是否会得到我我需要什么。

我的路由定义为

routes.MapRoute(
    name: "MyBookRoute", 
    url: "Book/{id}", 
    defaults: new { controller = "Book", action = "Index" }
);

如果一切都失败了,我想我能对付手动编写出的HREFs,但是这不应该成为剃刀做一件很难的事情。

有没有其他人遇到过这一点,并知道该怎么做?

Answer 1:

基于您的路由定义,然后要么

@Url.Action("Index", "Book", new { id = 1 })

要么

@Html.ActionLink("Your link text", "Index", "Book", new { id = 1 }, null)

将生成的URL删除操作名称。



文章来源: In ASP.NET MVC5, how can I hide the Action name when an a tag is generated in Razor using Url.Action?