HTML.Editor对于不允许用户定义的属性?

时间:2013-11-18 10:36:36

标签: asp.net-mvc-4 razor textbox compiler-errors

我正在尝试使用MVC 4 Razor View实现自动完成文本框。所以我需要在data-otf-autocomplete控件上包含属性(HTML.EditorFor),但它显示错误,不允许添加新属性?

显示错误:

 @Html.EditorFor(model => model.Subjects.Name, new { @data-otf-autocomplete="@Url.Action('Autocomplete_Subject')" });

注意:我无法编辑/更改属性名称,因为该属性是由DLL组件中包含的第三方生成的。

enter image description here

2 个答案:

答案 0 :(得分:1)

根据Adrian Thompson Phillips的建议,我使用了和Underscores而不是破折号。 @Html.EditorFor未建议使用自动填充文字,因此我使用@Html.TextBoxFor代替@Html.EditorFor

对我有用!

  1. 使用下划线代替破折号
  2. 使用@Html.TextBoxFor代替@Html.EditorFor

    @ Html.TextBoxFor(model => model.Subjects.Name,new {@data_otf_autocomplete = @ Url.Action(“Autocomplete_Subject”)});

答案 1 :(得分:0)

MVC有一个解决此问题的惯例,只需使用下划线而不是破折号,当MVC为页面提供服务时,它将转换回破折号:

@Html.EditorFor(model => model.Subjects.Name, new { data_otf_autocomplete = Url.Action("Autocomplete_Subject") })