自定义 Razor Html 属性

Tob*_*ton 2 html c# asp.net-mvc razor

使用 Razor html 助手,添加自定义 html 属性似乎做得很差。

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

典型的表单域看起来像

  <input type="text" data-eway-encrypt-name="EWAY_CARDNUMBER" />
Run Code Online (Sandbox Code Playgroud)

我试图用

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

但没有运气,因为它会反弹

CS0746:匿名类型成员声明符无效。匿名类型成员必须使用成员赋值、简单名称或成员访问进行声明。

有任何想法吗?

Xia*_*312 7

属性名称中不能有破折号。改用下划线,它们将自动为您转换:

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