1

作成したモデルクラスがあります。単純な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>)'の型引数を使用法から推測できません。タイプ引数を明示的に指定してみてください。

ソースエラー:

ビューがこのオブジェクトタイプに強く型付けされていないことを考慮して、ランダムクラスのエディターを呼び出すにはどうすればよいですか?

4

1 に答える 1

5

あなたの見解では、あなたは一番上に設定しました@model Map.WebUI.Models.ContactModel

次に、EditorForを次のように使用する必要があります。

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

パラメータはLamdaExpresionです。

編集:

わかりました、変更できないとは思いません...だから...EditorForは使えないと思います。しかし、できることは、PartialViewを使用して次を使用することです。

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

編集2

@Html.Editor(string expression, ViewData data)...を使用して、モデルを配置してViewDataオブジェクトのエディターに渡すこともできます。

于 2012-12-04T01:01:49.563 に答える