使用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:无效的匿名类型成员声明符。必须使用成员分配,简单名称或成员访问声明匿名类型成员。
任何想法?
答案 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" />