Razor 输入元素自定义属性

VAA*_*AAA 2 asp.net-mvc razor

您好,我需要执行以下操作:

@Html.TextBoxFor(m => m.Login, 
                 new { 
                       @class = "form-control", 
                       @placeholder = "Username", 
                       required="true" data-required-message="Please insert your name" 
                     })
Run Code Online (Sandbox Code Playgroud)

但是我遇到错误data-required-message似乎我不能使用“-”。

有什么线索吗?

Ehs*_*jad 6

您必须将它与下划线一起使用,_而 razor 会将其呈现为-html:

data_required_message="Please insert your name"
Run Code Online (Sandbox Code Playgroud)

还有一点需要注意的是,不需要@在每个参数前都打上符号htmlAttributes,我们之所以放它是class因为c#中class是保留字,不能直接作为变量名使用。

您的最终代码将类似于:

@Html.TextBoxFor(m => m.Login, 
                 htmlAttributes: new { 
                                       @class = "form-control",
                                       placeholder = "Username",
                                       required="true",
                                       data_required_message="Please insert your name" 
                                     })
Run Code Online (Sandbox Code Playgroud)

您还缺少placeholder属性后的逗号。