我目前正在創建一個MVC應用程序,它基本上只是一個大的數據庫內容的CRUD工具。 對於用於限制某些選擇的小表(國家,類別等),我創建了1頁加載請求的表,並允許用戶僅使用Ajax調用來添加/刪除/編輯屬性。MVC - 部分視圖不斷顯示相同的內容
加載頁面後,用戶將獲取包含所有表名的下拉列表。提交時,將觸發以下代碼:
public PartialViewResult OpenConfig(string SelectID)
{
using (DBconnection db = new DBconnection())
{
switch (SelectID)
{
case "---":
return null;
case "1":
var countries = (from x in db.tbl_CountriesSet select x).ToList();
return PartialView("Countries", countries);
case "2":
var supplierstatus = (from x in db.tbl_SupplierStatusSet select x).ToList();
return PartialView("Supplierstatus", supplierstatus);
case "3": .....
}
}
}
這裏是它變得有趣的地方。假設我打開國家窗口,它加載正確,我可以添加/編輯/刪除一個國家。這些條目使用jQuery在頁面上更新,同時使用Ajax調用來更新數據庫。這兩項工作都很好,數據庫已更新並且頁面已更新。我可以繼續工作,並且所有更改都反映在頁面和數據庫中,問題在重新加載部分視圖時開始。
當我在下拉列表中選擇國家值並重新提交時,程序會跳過上面顯示的方法,並顯示我第一次請求列表時顯示的同一部分視圖。 我在方法中設置了一個斷點,如果我加載了一些我沒有加載的東西之前,它被觸發,但不是我已經請求的網頁。 在Firefox中,它可以正常工作並更新部分視圖(並且會觸發斷點),但在Internet Explorer中,我的控制器完全被忽略,並且它始終顯示相同的頁面(即使當我轉到完全不同的頁面時,回到設置頁面)。
任何人都可以告訴我如何告訴IE顯式地重新加載包含當前數據庫內容的部分視圖?
優雅的解決方案,以一個惱人的問題,謝謝! :) – Flater