我有一个类似的模型:
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 div。我希望操作方法返回 EditorTemplates 文件夹中的 ObjectA、ClassA.ascx 的编辑器。
我的 Action 方法中有以下内容:
public ActionResult GetData(int input)
{
// Process input here and create modelData
return PartialView("ClassA", modelData);
}
这会产生错误,因为它找不到 ClassA 视图。
我的解决方案是在名为“GetData”的 Views 文件夹中创建一个 PartialView,然后我的返回呈现 GetData 视图。GetData 视图只有一行代码:
<%=Html.RenderForModel()%>
这确实有效,但我想知道是否有办法让操作方法返回和编辑器模板?