我需要一種方法在用戶單擊時重新顯示整個頁面後,在部分視圖(搜索部分)中「重置」下拉列表瀏覽器的後退按鈕。如何在點擊瀏覽器後退按鈕時在部分視圖中重置控件的值
索引視圖包含搜索部分視圖,搜索更新索引頁中的另一部分,當用戶單擊其中一個結果時,會顯示詳細信息頁面。到現在爲止還挺好。但是,如果用戶單擊瀏覽器的後退按鈕,則會再次顯示包含搜索部分視圖的索引頁,但會在下拉列表中顯示所選項目。我需要他們重置。
我試圖把
[OutputCache(NoStore = true, Duration = 0)]
在索引方法的頂部,但它並沒有幫助。
這裏的局部視圖(索引視圖/頁)
public ActionResult Search()
{
var _citiesList = new SelectList((from c in repository.Cities select c), "CityID", "CityName");
var searchViewModel = new ServiceProviderViewModel.SearchModel
{
CitiesList = _citiesList
};
return PartialView("_SearchSP", searchViewModel);
}
[HttpPost]
public ActionResult Search(ServiceProviderViewModel.SearchModel searchViewModel)
{
if (ModelState.IsValid)
{
var _serviceProviders = repository.ServiceProviders.
Where(sp => sp.ServiceTypes.Select(t => t.ID).Contains((int)searchViewModel.ServiceType))
.Where(sp => sp.DistrictID == searchViewModel.selectedDistrictID);
return PartialView("_SearchResults", _serviceProviders);
}
else
{
return PartialView("_SearchSP", searchViewModel);
}
}
public ActionResult GetDistrictsOfTheCity(int cityId)
{
var districts = new SelectList(repository.Districts.Where(d => d.CityID == cityId), "DistrictID", "DistrictName");
return Json(districts, JsonRequestBehavior.AllowGet);
}
然後不要使用ajax做全頁面刷新,它會自動重置搜索控件 –