皆さん、こんにちは...
MVC プロジェクトと、添付ボックス付きのフォーム (yahoo メール作成など) があります。
たとえば、「create_request.cshtml」
私が欲しい:
各ユーザーはフィールドに入力し、ファイルをアップロードします (ユーザーがいずれかを選択すると、Ajax によって各ファイルを投稿します)。フォームを送信した後、ページにエラーがある場合 (サーバー側で確認)、ユーザーは応答でアップロードされたファイルを確認します。ページ (エラーが強調表示された応答フォーム)...
上記のシナリオを非常にうまく実装しました。
(Ajax+ Tempdata+ 送信前にサーバー側でファイルを保存 + フォーム送信前にアップロードされたファイルのサム)
私のコントローラーで:
public void KeepTempData(string name, string value)
{
TempData[name] = value;
}
私の見解では、別の ajax コードでアップロードした後、各ファイル名をサーバーに送信します。
ajaxPostData(KeepTempData, "Attachments", $('#Attachments').val());
しかし、私には問題があります:
アップロードされたファイル名のリストを保持するためにTempDataを使用したため、ユーザーが現在のページにファイルを添付すると、ブラウザで新しいタブが開き、「create_request」ページのアドレスに移動します。ファイルが添付された空のフォームが表示されます...
私の解決策:
おそらく、各ページ(各フォーム)に一意のキーを設定し、それをセッション変数と各ページリクエストの非表示フィールドに保持することで、この問題を解決できます>> 「Saltを使用した偽造防止トークン」または「DateTime.Now」を使用
この投稿をウェブで見つけました。その問題は私の問題のようなものです。そしてその解決策は私の解決策のようなものです。
この問題に対するMVCの適切な解決策は何ですか???
ユーザーがブラウザーのいくつかのタブ (firfox など) でページの異なる要求を持っている場合、競合することなく TempData (またはセッション) を使用するための推奨事項は何ですか?