私はこれに似たモデルを持っています:
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 の両方に Editor テンプレートが定義されています。
section1 div をリロードするために Ajax 呼び出しを行う JavaScript をいくつか作成しました。アクション メソッドで ObjectA のエディター、EditorTemplates フォルダーにある ClassA.ascx を返すようにします。
Action メソッドには次のものがあります。
public ActionResult GetData(int input)
{
// Process input here and create modelData
return PartialView("ClassA", modelData);
}
ClassA ビューが見つからないため、エラーが発生します。
私の解決策は、「GetData」と呼ばれる Views フォルダーに PartialView を作成することでした。私の戻り値は GetData ビューをレンダリングします。GetData ビューのコードは 1 行だけです。
<%=Html.RenderForModel()%>
これは機能しますが、アクション メソッドが戻り、エディター テンプレートを返す方法があるかどうか疑問に思っていましたか?