У меня есть модель, подобная этому:
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()%>
Это действительно работает, но я задавался вопросом, был ли путь к методу действия возвратиться и шаблон редактора?
return PartialView("~/EditorTemplates/ClassA.ascx", modelData);