此代码:
<p class="options">
<a class="btn btn-default btn-lg selector1" @Html.ActionLink("Login", "Login", "Account")></a>
<a class="btn btn-default btn-lg selector2" @Html.ActionLink("Register", "Register", "Account")> </a>
</p>
如果删除两行中括号后的结束标记,则会给出段落没有结束标记的错误。然而,它的结束标记出现在应用程序中?我在其他地方使用它而没有结束标签,我不确定为什么它坚持在这里只展示它?
答案 0 :(得分:3)
您使用@Html.ActionLink()
错误。
ActionLink()
在页面上呈现完整的锚标记,您将该标记生成嵌入到另一个标记中(生成格式错误的HTML)。
您可能想要做的是:
<p class="options">
@Html.ActionLink("Login", "Login", "Account", htmlAttributes: new { @class="btn btn-default btn-lg selector1" })
@Html.ActionLink("Register", "Register", "Account", htmlAttributes: new { @class="btn btn-default btn-lg selector2" })
</p>
请注意htmlAttributes
属性。您可以在此处传递包含html属性的匿名对象。由于您需要考虑class=""
属性,因此可以向其传递一个如下所示的对象:
new { @class="btn btn-default btn-lg selector2" }
请记住在“class”的开头使用@
,因为class是C#中的保留关键字,@
符号将“转义”它。