自定义Razor Html属性

时间:2015-08-23 14:05:07

标签: c# html asp.net-mvc razor

使用Razor html帮助程序,添加自定义html属性似乎做得不好。

我正在编写支付网关集成,并且需要在客户端加密卡详细信息。

典型的表单字段类似于

  <input type="text" data-eway-encrypt-name="EWAY_CARDNUMBER" />

我试图用

复制这个
@Html.TextBoxFor(m => m.Card.CardNumber, new { @class = "form-control", @data-eway-encrypt-name = "EWAY_CARDNUMBER" })

但没有运气因为它会退回

  

CS0746:无效的匿名类型成员声明符。必须使用成员分配,简单名称或成员访问声明匿名类型成员。

任何想法?

2 个答案:

答案 0 :(得分:4)

您无法在商家名称中使用破折号。使用下划线,它们将自动为您转换:

@Html.TextBoxFor(
    m => m.Card.CardNumber, new 
    { 
        @class = "form-control", 
        //@data-eway-encrypt-name = "EWAY_CARDNUMBER",
        data_eway_encrypt_name = "EWAY_CARDNUMBER",
    })

答案 1 :(得分:1)

使用如下:

@Html.TextBoxFor(
    m => m.Card.CardNumber, 
    new { 
        @class = "form-control", 
        data-eway-encrypt-name = "EWAY_CARDNUMBER",
    }
)

_会自动转换为生成的标记中的-

<input type="text" data-eway-encrypt-name="EWAY_CARDNUMBER" />
相关问题