Возврат EditorTemplate как PartialView в результате действия

У меня есть модель, подобная этому:

public class myModel 
{
    public ClassA ObjectA {get; set;}
    public ClassB ObjectB {get; set;}
}

В моем основном представлении у меня есть теги, подобные этому:

<div id="section1">
    <%=Html.EditorFor(m => m.ObjectA)%>
</div>
<div id="section2">
    <%=Html.EditorFor(m => m.ObjectB)%>
</div>

ClassA и ClassB оба определили шаблоны Редактора.

Я создал некоторый JavaScript, который выполняет вызов Ajax для перезагрузки section1 отделения. Я хочу метод действия возвратить редактора для ObjectA, ClassA.ascx, который находится в папке EditorTemplates.

У меня есть следующее в моем Методе действия:

public ActionResult GetData(int input) 
{
    // Process input here and create modelData

    return PartialView("ClassA", modelData);
}

Это дает ошибку, потому что она не может найти представление ClassA.

Мое решение состояло в том, чтобы создать PartialView в папке Views под названием "GetData", и мой возврат представляет представление GetData. Представление GetData имеет только одну строку кода:

<%=Html.RenderForModel()%>

Это действительно работает, но я задавался вопросом, был ли путь к методу действия возвратиться и шаблон редактора?

24
задан pnuts 22 August 2018 в 16:35
поделиться