MVC 3 C#.NET を使用しています。
URLで値を公開したり、非表示の値として公開したりせずに、ページ間(異なるコントローラを持つ2つの異なるページ)で値を渡す方法はありますか? セッション変数を使用する最後の手段ですか? または、非表示フィールド (ala ViewState スタイル) をエンコードし、それをコントローラーに解析することをお勧めしますか?
ユーザーが値を操作しようとする可能性があるため、ユーザーから隠したいいくつかの値を渡しています。
助言がありますか?
MVC 3 C#.NET を使用しています。
URLで値を公開したり、非表示の値として公開したりせずに、ページ間(異なるコントローラを持つ2つの異なるページ)で値を渡す方法はありますか? セッション変数を使用する最後の手段ですか? または、非表示フィールド (ala ViewState スタイル) をエンコードし、それをコントローラーに解析することをお勧めしますか?
ユーザーが値を操作しようとする可能性があるため、ユーザーから隠したいいくつかの値を渡しています。
助言がありますか?
フォームで POST と隠しフィールドを使用するだけです。POST フィールドは、URL のみの GET には表示されません。セッション変数の使用は常に最小限に抑えるようにしてください。セッション変数は、ユーザーのログイン情報、ユーザー設定、設定などを保存するために使用する必要があります。
このデータをサーバー上のバッキング ストレージ (データベースまたは使用しているバッキング ストレージ) に永続化するだけです。私自身はセッションのファンではないので、それを使用することはまったくお勧めしません。ユーザーがこのデータを表示または変更することを想定していない場合は、このデータをビューに渡すことさえできません。サーバー上の所属する場所にとどまる必要があります=>。
私はまだ隠しフィールドを使用していましたが、ViewState スタイルの Base64 にエンコードしました。ほとんどのユーザーにとって、実際の値がわかりにくくなります。