【发布时间】:2015-08-14 02:10:09
【问题描述】:
这应该是一个相当简单的问题,我要做的就是在剃刀视图中使用@Html.LabelFor。我的一个标签不同,它有一个 标签。问题是当我使用LabelFor时,它将html编码为<。我已经尝试了很多不同的方法来实现这一点,但它们都没有奏效。这是代码。
@Html.LabelFor(model => model.Question, new { @for = "Question" })
应该输出什么:
<label for="question"><a href=\"mailto:support@testdomain.com">support@testdomain.com</a></label>
输出了什么:
<label for="question"><a href=\"mailto:support@testdomain.com">support@testdomain.com</a></label>
(我的
我怎样才能让它输出它应该输出的东西?
注意,model.Question 设置为 support@testdomain.com
【问题讨论】:
-
我尝试过使用不同的 html.labelfor 重载,包括自己传入一个字符串。这也得到了编码。我什至尝试过 html.raw。它也回来编码。
-
你是如何使用 Html.Raw 的?提示:它将被编码到数据库中。
-
似乎没有意义。
<label>元素是一个可访问性控件 - 当您单击它时,焦点将设置为关联的控件。您想打开电子邮件编辑器,所以它不应该是一个标签。 -
我和大多数人一样在问为什么
<a>标记在<label>中。我认为,上述使用是可以接受的based on MDN。在这种情况下,<a>标签类似于phrasing content。另见SO item。虽然我不希望在我的<label>中有链接,特别是如果我使用带有输入字段的for属性。
标签: html asp.net asp.net-mvc razor