-1

クラスUser.cs、プロパティuser_idのeditorforが含まれていない場合、モデルIDはnullです。 Viewからuser_idのEditorForを削除すると、Editビューの結果がコントローラに返された後にuser_idがnullになります。ASP.NET MVC 4 - ビューにID

このフィールドのビューにEditorForを設定しないと、編集ビューを読み込んだ後にuser_id値を保持するにはどうすればよいですか?この場合、Editアクションはnull参照エラーを返します。ビューをロードする前にuser_idの値を保存してから、ビューに入力した内容に関係なく、このuser_idの値を以前に保存した場所から復元し、このIDでデータベースレコードを更新します。

MVCはEditorFor以外のViewで何も見たくないという問題があります。

DisplayFor、TextBoxForは受け入れられず、結果にはすべてnullが返されます。 HiddenForはまだIDをページにロードするため、選択肢ではありません。 EditorForは読み取り専用に設定することはできません。だから私はまったくそれを削除するが、モデルのなんとかuser_idを保持したい。 TempDataを安全な場所ではないよう

EDIT

が見えます。 idをしばらく予約することができるいくつかの追加のプロパティを持つ派生クラスを作ることでこれを行うことはできますか?クラスについてのIdkが多すぎます

+0

"DisplayFor、TextBosFor、HiddenForなどは受け入れられず、すべて結果にnullが返されます。" これを拡張できますか?同じフォームにHiddenForを配置したが、その値が次のヒットで解析されていないと言っていますか? – esmoore68

+1

それはHiddenForの意図です。モデルとビューを表示します。 –

+0

いいえ、申し訳ありませんが、hiddenfor作品。私はこれらの事柄が異なる理由で私の考えに合わないということを意味します。私はこれを何も使用したくないので、IDを表示しないようにしてください。 – SWA

答えて

1

ビューに表示したくない場合は、TempDataを使用してアクション間で渡します。私はあなたのコードを見ることができないので、私はあなたを見ることができません。

+1

トピックの編集を参照してください –

+0

@SteveGreene –

+0

フォームパラメータに渡すと何らかのエラーが発生しますが、BeginFormはUserクラスにはありません – SWA