我正在Razor中构建一个表单,如下所示:
@using (Html.BeginRouteForm("foo", new { controller = "foo", action = "bar" }, FormMethod.Post, new { id="foo", enctype="multipart/form-data", accept-charset="utf-8" }))
{
<label for="file">File</label>
<input type="file" name="file" id="file" />
<input type="submit" value="Send"/>
}
我需要在表单标记中获取一些属性。但编译器不喜欢accept-charset中的破折号。我如何允许C#中的对象属性有破折号?
答案 0 :(得分:4)
在属性名称中使用下划线:accept_charset
MVC会自动将html属性属性中的下划线转换为破折号:
@using (Html.BeginRouteForm("foo", new { controller = "foo", action = "bar" }, FormMethod.Post, new { id="foo", enctype="multipart/form-data", accept_charset="utf-8" }))
{
<label for="file">File</label>
<input type="file" name="file" id="file" />
<input type="submit" value="Send"/>
}
信用:How to use dashes in HTML-5 data-* attributes in ASP.NET MVC