2012-12-04 99 views
1

我有我創建的模型類;一個簡單的POCO類:CS0411:方法'System.Web.Mvc.Html.EditorExtensions.EditorFor <>的類型參數''不能從使用推斷

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> 

但我得到的錯誤:

Compilation Error

Description: An error occurred during the compilation of a resource required to service this request. Please review the following specific error details and modify your source code appropriately.

Compiler Error Message: CS0411: The type arguments for method 'System.Web.Mvc.Html.EditorExtensions.EditorFor(System.Web.Mvc.HtmlHelper, System.Linq.Expressions.Expression>)' cannot be inferred from the usage. Try specifying the type arguments explicitly.

Source Error:

哪有我爲隨機類調用編輯器,考慮視圖是而不是強類型爲此對象類型?

回答

4

在你看來,你在上面@model Map.WebUI.Models.ContactModel

設置然後,你需要使用EditorFor這樣:

@Html.EditorFor(x => x.ContactModel()) 

的參數是的Lamda Expresion。

編輯:

好吧,我沒有得到你,你不能改變它...所以...我想你不能使用EditorFor。 但是你可以做的是使用PartialView及用途:

@Html.Partial("YourContactView", new Map.WebUI.Models.ContactModel()) 

EDIT 2

您還可以使用@Html.Editor(string expression, ViewData data) ...這樣,您可以將模型傳遞到編輯器ViewData對象。

+0

我明確**不要**要將視圖設置爲強類型爲此對象類型。 – sergserg

相關問題