2017-04-06 18 views
0

전체 페이지를 다시 표시 한 후 사용자가 클릭하면 내 부분보기 (검색 섹션)에 dropdownlists를 "재설정"할 수있는 방법이 필요합니다 브라우저의 뒤로 버튼.브라우저의 뒤로 버튼을 클릭하면 부분보기 컨트롤의 값을 다시 설정하는 방법

인덱스보기는 검색 색인 페이지에서 다른 섹션을 업데이트, 검색 부분보기를 포함하고, 그 결과 중 하나에 사용자가 클릭은 세부 사항 페이지가 표시됩니다. 여태까지는 그런대로 잘됐다. 그러나 사용자가 브라우저의 뒤로 버튼을 클릭하면 검색 부분 뷰가있는 인덱스 페이지가 다시 표시되지만 드롭 다운 목록에 선택한 항목이 표시됩니다. 나는 그들을 재설정해야합니다.

나는 색인 방법의 상단에
[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); 
    } 
+0

는 전체 페이지 새로 고침을 아약스 사용하지 않고 자동으로 검색이 작동 –

답변

0

Duplicate With

최신 브라우져 알려진 뭔가를 구현 :


여기 (인덱스보기/페이지) 부분도 여기에

enter image description here

컨트롤러 코드입니다 역방향 캐시 (BFCache)로 사용됩니다. 뒤로/앞으로 버튼을 누르면 실제 페이지가 다시로드되지 않으며 스크립트는 다시 실행되지 않습니다.

당신이 뒤로/앞으로 키를 치는 사용자의 경우 일을해야하는 경우 - BFCache의의 pageshow 및 pagehide 이벤트를 수신.

의사의 jQuery 예를

:

$(window).bind("pageshow", function() { 
    // update hidden input field 
}); 

GeckoWebKit 구현에 대한 자세한 내용을 참조하십시오.

+0

@burakk 감사를 제어 재설정합니다! upvote –