下面的句子会生成一个HTML锚点,该锚点指向ASP.net MVC控制器中的操作:
@Html.ActionLink("Text", "Action", "Controller")
但是下面的代码做同样的事情:
<A href="~\Controller\Action">Text</a>
第二个选项对我来说似乎更好,因为它不那么复杂,并且允许事件将复杂的HTML元素放入其中。
那么我有理由在第二个上使用第一个吗?
答案 0 :(得分:1)
您可以使用此:
<a href="@Url.Action("Action","Controller")">Text or Inner html</a>
此代码允许您将HTML放入其中。
像这样的代码:如果使用自定义路由,“〜\ Controller \ Action”可能会导致问题。 例如,您想在URL中在Controller之前使用Action的名称。
答案 1 :(得分:0)
我认为第一个看起来更好,因为您可以在特定字段中添加路由参数和htmlAttributes。易于阅读。例如
@Html.ActionLink("LinkText", "Action", "Controller", new { id = item.ID }, new htmlAttributes {})