如何在单击浏览器的后退按钮时重置部分视图中控件的值
How to Reset the Values of the Controls in Partial View Upon Clicking on Browser's Back Button
我需要一种方法来 "reset" 在用户单击浏览器的后退按钮时重新显示整个页面后,我的部分视图(搜索部分)中的下拉列表。
索引视图包含搜索部分视图,搜索更新索引页面中的另一个部分,当用户单击其中一个结果时,会显示详细信息页面。到目前为止,一切都很好。但是,如果用户单击浏览器的后退按钮,将再次显示包含搜索部分视图的索引页面,但会在下拉列表中显示所选项目。我需要重置它们。
我试过
[OutputCache(NoStore = true, Duration = 0)]
在 Index 方法之上,但没有帮助。
这是局部视图(在索引 view/page 中)
这是控制器代码:
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);
}
我需要一种方法来 "reset" 在用户单击浏览器的后退按钮时重新显示整个页面后,我的部分视图(搜索部分)中的下拉列表。
索引视图包含搜索部分视图,搜索更新索引页面中的另一个部分,当用户单击其中一个结果时,会显示详细信息页面。到目前为止,一切都很好。但是,如果用户单击浏览器的后退按钮,将再次显示包含搜索部分视图的索引页面,但会在下拉列表中显示所选项目。我需要重置它们。
我试过
[OutputCache(NoStore = true, Duration = 0)]
在 Index 方法之上,但没有帮助。
这是局部视图(在索引 view/page 中)
这是控制器代码:
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);
}