ビュー モデルからネストされたビュー モデルにマップされるプロパティに問題があります。私の構造(スリム化):
ビューモデル:
public class PolicyViewModel
{
public int PolicyId { get; set; }
public NoteViewModel NoteVM { get; set; }
}
public class NoteViewModel
{
public int PolicyId { get; set; }
}
ポリシー コントローラー:
public ActionResult Adjustment(int policyId = 0, int historyId = 0)
{
GroupPolicyViewModel groupPolicyVM = new GroupPolicyViewModel();
// Automap all property values, then assign the policy Id to the nested controller?!
groupPolicyVM.NoteVM = new NoteViewModel { PolicyId = policyId };
return View(groupPolicyVM);
}
ノートコントローラー
public int PolicyId { get; set; } // null
public JsonResult Get(int take, int skip, FilterExpression filter, NoteViewModel NoteVM)
{
// How do I get the PolicyId here?! NoteVM PolicyId is null
// This function is being called via jQuery from the Policy form and I obviously don't want to send the policyId via QueryString.
}
もちろん、私のビューには次のものがあります。
@Html.Partial("_Notes", Model.NoteVM)
@Html.HiddenFor(model => model.PolicyId)
@Html.HiddenFor(model => model.NoteVM.PolicyId) // also tried this with no success!
これはかなり一般的なことだと思いますが、何が間違っているのかわかりません。何か案は?複数のページでノートの部分ビューが必要になるので、このようにしています。