Как использовать @Html.EditorFor ()без модели представления

Я хочу сделать что-то подобное, чтобы создать модальное диалоговое окно, которое я буду вызывать позже с помощью jQuery

<div class="modal" id="modalName" style="display: none;">
<div class="modal-header">
    <a class="close" data-dismiss="modal">×</a>
    <h3>Edit Contacts</h3>
</div>
@using (Html.BeginForm("Index", "Home", FormMethod.Post, new Dictionary<string, object> { { "class", "form-horizontal" } }))
{
    <div class="modal-body">
    @Html.EditorFor(model => new ViewModel(), "ViewModelTemplateName")
    </div>
    <div class="modal-footer">
        <a href="#" class="btn" data-dismiss="modal">Close</a>
        <button type="submit" class="btn btn-primary">
            Submit</button>

    </div>
}
</div>

В этой строке

@Html.EditorFor(model => new ViewModel(), "ViewModelTemplateName")

Я получаю сообщение об ошибке

Шаблоны можно использовать только с доступом к полям, доступом к свойствам, индекс массива измерений с одним -или настраиваемый индексатор с одним параметром -выражения.

Я не понимаю, почему это должно заботиться о том, где или каков экземпляр (, если он имеет правильный тип)

@Html.Partial (" ~/Views/Shared/EditorTemplates/ViewModel.cshtml", новая ViewModel ())делает свое дело, но я должен объявить полный путь к шаблону... это немного отстой.

Так есть ли лучший способ сделать это?

5
задан Peter 19 April 2012 в 23:43
поделиться