送信を押したときに作成するために POST したい次のものがあります。送信を押すと、id = debugTxt の入力の値を参照するオブジェクト参照エラーが発生します。オブジェクトの状態を失ったため、このエラーが発生したと思われます。
私の質問は、モデルから取得した初期ビューでテキストを設定し、ユーザーが POST で更新できるようにするにはどうすればよいですか?
@using (Html.BeginForm("Create", "PhysDoc"))
{
<table>
<tr>
<td class="title">Debug Mode</td>
<td>
This input does the initial GET correctly. On POST I get object ref error related to the value inside @Model.
<input type="text" id="debugTxt" name="debugModeTxt" value="@Model.DebugMode" />
</td>
</tr>
<tr>
<td>
<input type="submit" value="Submit" />
</td>
</tr>
</table>
}
Create メソッド (ここでは例外がスローされないことに注意してください)。
[HttpPost]
public ActionResult Create(string debugModeTxt)
{
PhysdocSettings settings = new PhysdocSettings();
settings.DebugMode = bool.Parse(debugModeTxt);
PhysDocSettingsBL settingBL = new PhysDocSettingsBL();
settingBL.UpdateSettings(settings);
return View("Index");
}
ここで例外が発生します。
value="@Model.DebugMode"
value="True"
コード を変更すると正常に動作します。しかし、これは Model.DebugMode に等しい初期値を私に与えません。