ASP.Net MVC TempDataを使用して、ページの更新の間にフォームデータを格納しています。ページには、ユーザーが特定のアクションを実行できるボタンがあります。ユーザーがこのボタンを1回クリックすると、正常に機能します。許可されているボタンを2回クリックすると、TempDataデータが失われます。ユーザーがボタンを何度クリックしても、TempDataデータが保持されていることを確認する必要があります。ちなみに、ボタンはURL.Actionをアクティブにし、Ajaxを利用します。
4526 次
3 に答える
5
TempData.Keep()?
于 2010-10-18T10:23:15.973 に答える
2
TempDataは次のリクエストの最後までデータを保存するだけなので、TempDataではなくSessionにデータを配置することをお勧めします。あなたの状況で起こっていることは、ユーザーがボタンをクリックするたびにリクエストを行っているため、2回目のボタンクリックで、TempDataはすでにクリアされています(または最初のリクエストの最後にクリアされます)。
ボタンを最初にクリックした後でボタンを無効にすることもできますが、これによりソリューションの堅牢性が低下する可能性があります。セッションと別のAJAXリクエストを使用して、最初のAJAXリクエストが正常に返されたときに作成されたセッションのデータをクリアすると、最初のAJAXリクエストが返され、セッションのデータをクリアできることが確実になります。
于 2010-09-24T07:32:55.103 に答える
0
ユーザーがボタンを何回クリックしても、TempData データが保持されるようにする必要があります。
TempData は、次のアクション/リクエストにデータを渡すことです。それはセッションの場合です。
それでも TempData を使用する場合は、関連するすべてのコントローラー アクションが同じ TempData 値に再度設定されていることを確認してください。
于 2010-09-24T17:20:40.490 に答える