ASP.NET Razor中的HTML.ActionLink vs Url.Action
HTML.ActionLink
与Url.Action
之间有什么区别吗,或者它们只是做同样事情的两种方式?
什么时候我应该选择一个而不是另一个?
286
6
HTML.ActionLink
与Url.Action
之间有什么区别吗,或者它们只是做同样事情的两种方式?
什么时候我应该选择一个而不是另一个?
是的,有区别。
Html.ActionLink
生成一个<a href="."></a>
标签,而Url.Action
只返回一个网址。比如说。
产生了。
而
Url.Action("someaction", "somecontroller", new { id = "123" })
会产生。还有Html.Action可以执行一个子控制器动作。
Html.ActionLink
会自动生成一个<a href="."></a>
标签。Url.Action
只生成一个网址。比如说。
产生了。
和
产生。
我喜欢的最佳加分项是使用
Url.Action(...)
。你正在自己创建锚标签,在那里你可以很容易地设置你自己的链接文本,甚至与一些其他的HTML标签。
在上面的例子中,你可以看到,如果我特别需要一个按钮来做一些动作,我必须用@Url.Action来做,而如果我只是想要一个链接,我将使用@Html.ActionLink。 重点是,当你必须使用一些带有动作的元素(HTML)时,就要使用url。
@HTML.ActionLink
生成一个HTML锚标签
。 而"@Url.Action "则为你生成一个 "URL"。 你可以很容易理解。这两种方法都是不同的,完全取决于你的需求。
你可以通过使用适当的CSS样式轻松地将Html.ActionLink呈现为一个按钮。 例如:
}
我使用下面的代码创建了一个Button,它为我工作。