如何在剃刀中插入'_'作为htmlAttributes?

时间:2015-12-29 00:08:36

标签: asp.net-mvc razor

这可能是一个简单的问题,但我尚未找到答案。

在剃刀中创建HtmlElement时如何转义'_'?

要在最终的Html中渲染一个' - ',我们放一个'_',但要渲染一个'_'(下划线),我们如何逃避呢?我尝试'@:',但它没有用,也没有找到任何其他选项......

示例:

 @Html.CheckBox("Access_Groups", false, new
                   {
                       @class = "input-control checkbox",
                       @data_group = "I', looking for data-group",
                       @Description_pt = "<----- I'm looking for Description_pt"
                   })

@data_group将按预期呈现为数据组,但是...... @Description_pt将呈现为Description-pt,这不是预期的(不知道如何为此转义_) 谢谢

2 个答案:

答案 0 :(得分:2)

如果查看signature of Html.Checkbox,我们可以看到它需要htmlAttributes的对象。此外,查看语法,它实际上是一个基于密钥的对象集合。 Dictionary<string,object>适合该帐单,并允许您绝对指定要添加的html属性的名称(请注意每个键的输入完全按照我们希望的方式显示)。

@Html.CheckBox("Access_Groups", false, new Dictionary<string,object>
{{"class", "input-control checkbox"},
{"data-group", "I', looking for data-group"}, 
{"Description_pt", "SomeValue"}})

这将呈现以下HTML

    <input Description_pt="SomeValue" class="input-control checkbox"
data-group="I&#39;, looking for data-group" id="Access_Groups" 
name="Access_Groups" type="checkbox" value="true" />

答案 1 :(得分:0)

您是否尝试过下划线的HTML字符代码,即&#95;