javascript - How to Reset the Values of the Controls in Partial View Upon Clicking on Browser's Back Button -


i need way "reset" dropdownlists in partial view (search section) after re-displaying whole page when user clicks on button of browser.

index view contains search partial view, search updates section in index page, , when user click on 1 of results, details page shown. far good. however, if user clicks on browser's button, index page search partial view displayed again, selected items in dropdownlists. need them reset.

i tried putting

[outputcache(nostore = true, duration = 0)] 

on top of index method, did not help.


here's partial view (in index view/page)

enter image description here
here controller code:

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);     } 

duplicate with

modern browsers implement known back-forward cache (bfcache). when hit back/forward button actual page not reloaded (and scripts never re-run).

if have in case of user hitting back/forward keys -- listen bfcache pageshow , pagehide events.

a pseudo jquery example:

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

see more details gecko , webkit implementations.


Comments

Popular posts from this blog

inversion of control - Autofac named registration constructor injection -

ios - Change Storyboard View using Seague -

verilog - Systemverilog dynamic casting issues -