プロパティがビューで使用されるモデル内のクラス内にある場合、ビューからコントローラーにデータを渡すことはできますか?
問題は、送信が発生したときに、そのモデル内のクラスに属するモデルのプロパティが設定されていないように見えることです。クラスにないプロパティは入力されます。ここにインスタンス化の問題があると考えてください。
モデルのセットアップは次のとおりです。
namespace AppName.Models
{
public class SuperModel
{
public SuperModel() {
SubModA = new SubModelA();
}
public string myItem1 { get; set; }
public SubModelA SubModA { get; set; }
}
public class SubModelA
{
public string mySubAItem1 { get; set; }
}
}
ビューは次のとおりです。
@model AppName.Models.SuperModel
@{
ViewBag.Title = "My Page Title";
}
<h2>My Page Title:</h2>
@using (Html.BeginForm("NextController", "NextControllerFolder", new { SuperModel = Model }, FormMethod.Post))
{
@{
Model.myItem1 = DateTime.Now.ToShortDateString();
Model.SubModA.mySubAItem1 = DateTime.Now.ToShortDateString();
}
@Html.HiddenFor(m => m.myItem1)
@Html.HiddenFor(m => m.SubModA.mySubAItem1)
<p>
<button name="submit" value="Submit"><b>Continue</b></button>
</p>
}
コントローラーは次のとおりです。
[HttpPost]
public ActionResult NextController(string button, SuperModel model, string returnUrl)
{
// PROBLEM IS HERE>>>
///model.myItem1 has a value equal to the current date
// model.SubModA.mySubAItem1 is null
return(model);
}
この質問が理にかなっていることを願っています。答えがすぐそこにあることを願っています!ありがとう!