私は使っている
TempData["hdn"] = "1";
コントローラーで
これを使えば
@{
var hdn = (string)TempData["hdn"];
}
View ではTempData["hdn"]
、POST で null を取得する際の値。ビューでこのコードをスキップすると、POST に残ります。なぜこれが起こっているのですか?
私は使っている
TempData["hdn"] = "1";
コントローラーで
これを使えば
@{
var hdn = (string)TempData["hdn"];
}
View ではTempData["hdn"]
、POST で null を取得する際の値。ビューでこのコードをスキップすると、POST に残ります。なぜこれが起こっているのですか?
TempData 値は、読み取り後にクリアされます。
ビューで値を読み取った後にコントローラーに値を戻したい場合は、非表示フィールドに値を含めてから、フォーム値から読み取る必要があります。
何かのようなもの:
<input type="hidden" name="hdn" value="@hdn" />
次に、コントローラーで次のことができます。
var hdn = Request.Form["hdn"]
HTH
TempData
キーと値のセットは、呼び出された後に削除されます。Satpal は Keep について話しましたが、削除せずに取得するたびに明確にしたい場合は、Peek を使用することもできます。
TempData.Peek(String)
例:
var hdnNotDeleted = TempData.Peek["hdn"];