編集 それを考え出した.. $.ajaxSetup({ cache: false }); フォームでdata-ajaxをオフに設定していたため、機能していませんでした。したがって、キャッシュajaxを設定できませんでした..完全を期すために、dada-ajaxが設定されている間にこれを行う方法を誰かが知っている場合false に投稿してください。
私が試した他の何か は、ページを更新したいリンクに data-ajax="false" を追加するだけでした。つまり、リンクに data-ajax="false" がある場合、表示する前に常にページが更新されます!
たとえば、私が問題を抱えていたリンクは
<a href="@Url.Action("CreateStatusReport", "ProjectHome")">Add a new weekly update</a>
問題は、何らかの理由でページがキャッシュされ、キャッシュされたページが常に表示されていたことでした..したがって、簡単な修正の1つは data-ajax="false" を追加することで、毎回ページのリロードを強制しました
<a href="@Url.Action("CreateStatusReport", "ProjectHome")" data-ajax="false">Add a new weekly update</a>
`` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` ``````````````
質問: キャンセル ボタンと送信ボタンもあるフォームを表示するオプション メニューがあります。
フォームが送信されると、実行される特定の検証があり、何かが不足している場合は、検証テキストとともにフォームに戻ります。
いつでもキャンセル ボタンをクリックすると、オプション メニューに戻る必要があります。フォームを表示するのと同じボタンをクリックすると、まったく新しいクリーンなフォームが表示されます。これは、検証前に行うと正常に機能します。 .
問題は、エラー検証メッセージで返される無効なフォームを送信し、[キャンセル] を押すと、その時点からいつでもフォーム オプション メニュー ボタンをクリックすると同じフォームが表示されるため、ページがキャッシュされたように見えることです。それぞれに検証エラーとデータを追加します。フォームView()を返すメソッドにブレークポイントを配置しましたが、ヒットすることはありません。何らかの理由で、新しいフォームを作成するメソッド全体をスキップし、古いページを表示するだけです。
キャンセルボタンは以下
<a href="@Url.Action("ProjectOptions", "ProjectHome", new { id = @Session["projectID"], remove = "true" })" style="text-align:center" data-role="button" data-theme="e" data-icon="arrow-l">Cancel</a>
何が起こっているか知っている人はいますか?検証エラーで同じページに戻ったときに、何らかの形でキャッシュされていますか??
** 編集 **
コントローラーの前に追加しようとし[OutputCache(NoStore = true, Duration = 0, VaryByParam = "*")]
ましたが、役に立ちませんでした..
私も今追加しました
$.ajaxSetup({ cache: false });
$(document).ready(function () の先頭に移動しますが、それも何もしていないようです。そこに置くだけですか、それとも何らかの方法で呼び出す必要がありますか?
System.Web.HttpContext.Current.Cache を確認しましたが、ページが表示されません。