我有一个我创建的模型类;一个简单的POCO课程:
public class ContactModel
{
[Required]
public string Name { get; set; }
[Required]
public string Email { get; set; }
[Required]
public string Message { get; set; }
[Required]
public string Work{ get; set; }
}
在视图中,我想为此模型打电话和编辑:
<div class="contact-form">
@Html.EditorFor(new Map.WebUI.Models.ContactModel())
</div>
但我收到错误:
编译错误
描述:编译资源期间发生错误 需要为此请求提供服务。请查看以下具体内容 错误详细信息并适当修改源代码。
编译器错误消息:CS0411:方法的类型参数 &#39; System.Web.Mvc.Html.EditorExtensions.EditorFor(System.Web.Mvc.HtmlHelper, System.Linq.Expressions.Expression&GT;)&#39; 无法从使用中推断出来。尝试指定类型参数 明确。
来源错误:
如果视图不强烈键入此对象类型,我如何调用随机类的编辑器?
答案 0 :(得分:4)
在您的视图中,您设置在顶部@model Map.WebUI.Models.ContactModel
然后你需要以这种方式使用Editor:
@Html.EditorFor(x => x.ContactModel())
参数是Lamda Expresion。
修改强>
好吧,我不知道你不能改变它......所以...我认为你不能使用EditorFor。 但你可以做的是使用PartialView并使用:
@Html.Partial("YourContactView", new Map.WebUI.Models.ContactModel())
编辑2
您也可以使用@Html.Editor(string expression, ViewData data)
...这样您就可以将模型传递给ViewData对象中的编辑器。