0

TempData からビューの ID を抽出し、Html.Hidden に配置しようとしています。デバッグで TempData の情報を見ると、すべての値が表示されますが、Html.Hidden は ID に対して空の値を返します。

  @Html.Hidden("idMatch", @TempData["leMatch,idMatch"])   

私は何が欠けていますか?

4

1 に答える 1

1

@beforeは必要ありませんTempData

@Html.Hidden("idMatch", TempData["leMatch,idMatch"]) 

編集: の@前にあってもTempData、エラーは表示されず、隠し要素が適切にレンダリングされます。

TempData の有効期間は短いため、現在のリクエストと後続のリクエストの間のみ使用する必要があります。オブジェクトはオブジェクトのSessionバッキング ストアでありTempData、通常のセッションよりも早く、つまり後続のリクエストの直後に破棄されます。

TempDataあなたの場合は空になると思います。これが、非表示フィールドで空の値としてレンダリングされる理由です。

this (動的に型指定された)の代わりに、厳密に型指定されたViewModelを使用することを強くお勧めします。次に、HTMLヘルパーメソッドを使用できますmagical TempData/ViewdataHiddenFor

@model CustomerViewModel

@using(Html.BeginForm()){
  @Html.HiddenFor(x => x.CustomerID)

}
于 2012-07-23T14:48:02.523 に答える