C# CS0411:无法从用法推断方法“System.Web.Mvc.Html.EditorExtensions.EditorFor)”的类型参数
我创建了一个模型类;一个简单的POCO类:C# CS0411:无法从用法推断方法“System.Web.Mvc.Html.EditorExtensions.EditorFor)”的类型参数,c#,asp.net-mvc-3,model,html-helper,C#,Asp.net Mvc 3,Model,Html Helper,我创建了一个模型类;一个简单的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
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.EditorForSystem.Web.Mvc.HtmlHelper,
System.Linq.Expressions.Expression>'
无法从用法推断。尝试指定类型参数
明确地说
源错误:
考虑到视图不是此对象类型的强类型,如何为随机类调用编辑器?在视图中,您在顶部@model Map.WebUI.Models.ContactModel中设置了 然后,您需要使用编辑器进行以下操作:
@Html.EditorFor(x => x.ContactModel())
该参数是一个Lamda表达式
编辑:
好吧,我不明白你不能改变它。。。所以我想你不能用EditorFor。
但您可以使用PartialView并使用:
@Html.Partial("YourContactView", new Map.WebUI.Models.ContactModel())
编辑2
您还可以使用@Html.Editorstring表达式ViewData data。。。这样,您就可以在ViewData对象中放置要传递给编辑器的模型。在视图的顶部@Model Map.WebUI.Models.ContactModel 然后,您需要使用编辑器进行以下操作:
@Html.EditorFor(x => x.ContactModel())
该参数是一个Lamda表达式
编辑:
好吧,我不明白你不能改变它。。。所以我想你不能用EditorFor。
但您可以使用PartialView并使用:
@Html.Partial("YourContactView", new Map.WebUI.Models.ContactModel())
编辑2
您还可以使用@Html.Editorstring表达式ViewData data。。。这样,您就可以将要传递给编辑器的模型放置在ViewData对象中。我明确不希望将视图设置为强类型到此对象类型。我明确不希望将视图设置为强类型到此对象类型。