1

MVC 4 Webアプリケーションでは、エリアと標準/デフォルトルート構成を使用しています。たとえば、特定の顧客のメモ/コメントレコードを表示する場合、次のようなルートがあります。

/Customers/Notes/Index/123

'Customers'領域にNotesという名前のコントローラーがあり、'Index'という名前のアクションメソッドがあります。デフォルトのルーティングでは、実際には次と同じアクションを指定できます。

/Customers/Notes/123

完全を期すために、インデックスアクションは次のようになります。

public ActionResult Index(int id)
{
     var model = UnitOfWork.CustomerDb
        .GetNotes(id);

     return View(model);
}

このアクションのこの結果は、特定の顧客に対して投稿されたメモの時系列の要約を提供する単純なデータグリッドです。AJAXやJSONは関係ありません。

Chromeを使用する場合を除いて、これはすべてうまく機能します。このブラウザは、ページをキャッシュして前のページをレンダリングしているように見えます。ブラウザを更新しても問題は修正されませんが、ブラウザのキャッシュをクリアしてから更新すると、正しいデータがレンダリングされます。

Chromeはidパラメータを無視していると思います。私の質問は次のとおりです。

  • なぜこれがChromeでのみ問題になるように見えるのですか?
  • これは既知の/一般的な問題ですか?
  • 認められた解決策はありますか?

私はこれを、安全な手法だと思っていたものをWebアプリケーション全体で使用してきましたが、なぜこれが起こっているのか混乱していることを告白しなければなりません。

任意の情報/アドバイスをいただければ幸いです。

4

0 に答える 0