我创建了一个模型类;一个简单的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:方法的类型参数 'System.Web.Mvc.Html.EditorExtensions.EditorFor(System.Web.Mvc.HtmlHelper, System.Linq.Expressions.Expression>)' 无法从使用情况中推断。尝试指定类型参数 明确地。
源错误:
考虑到视图不是对此对象类型的强类型,如何为随机类调用编辑器?
在您看来,您设置在顶部@model Map.WebUI.Models.ContactModel
然后你需要使用编辑器这样:
@Html.EditorFor(x => x.ContactModel())
该参数是耐磨达表达式。
编辑:
好吧,我不明白你不能改变它...所以。。。我认为你不能使用编辑器。但是你可以做的是使用PartView并使用:
@Html.Partial("YourContactView", new Map.WebUI.Models.ContactModel())
编辑 2
您也可以使用@Html.Editor(string expression, ViewData data)
...这样,您就可以将模型放置在 ViewData 对象中以传递给编辑器。