ユーザーがクリックしたときにページ全体を再表示した後、部分ビュー(検索セクション)でドロップダウンリストを「リセット」する方法が必要ですブラウザの戻るボタン。ブラウザのバックボタンをクリックして部分ビューでコントロールの値をリセットする方法
インデックスビューには検索部分ビューが含まれ、検索ではインデックスページの別のセクションが更新され、ユーザーが結果の1つをクリックすると詳細ページが表示されます。ここまでは順調ですね。ただし、ユーザーがブラウザの戻るボタンをクリックすると、検索部分ビューの索引ページが再度表示されますが、ドロップダウンリストに選択した項目が表示されます。私はそれらをリセットする必要があります。
私は、Indexメソッドの上に
[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を使ってフルページを更新しないと、自動的に検索コントロールがリセットされます –