2014-07-19 21 views
5

sonra Tarayıcıda Güncelleme URL'yi Ajax formu, böyle bir şey var:MVC Ajax.BeginForm başarılı alın Request

@using (Ajax.BeginForm("AjaxSerchResult", "Search", new { area = string.Empty }, new AjaxOptions() { HttpMethod = "Get", UpdateTargetId = "Results", LoadingElementId = "Loading" }, new { id = "Search" }) 
{ 
//Fields go here 
} 

soru şudur: nasıl ben AJAX kullanarak göndermiş parametreleri içeren tarayıcı url güncellenir?

+0

lütfen yerine window.location.hash = "#my_url"; veya window.location.replace("#my_url"); kullanmak [bu] bir göz (http://stackoverflow.com/questions/ almaya öneriyoruz 136458/tarayıcıda-değiştir-olmayan-yeni-sayfa-kullanarak-javascript) –

+0

değiştirmek ama nasıl mvc ajax kontrolü ile çalışmak için? javascript uzmanı değilim ... –

+0

cevabımı aşağıya bir göz atın, yine de javascript kullanmak zorundasınız, sadece javascript kullanarak url'yi değiştirebilirsiniz. –

cevap

4

Eğer Ajax.BeginForm() kullanmak istiyorsanız, sen "onSuccess" özelliğini ve benalman's plugin kullandığınız gibi javascript URL'yi

demo of url changing (jQuery 1.9 gerekli)

@using(Ajax.BeginForm(
     "AjaxSerchResult", 
     "Search", 
     new { area = string.Empty }, 
     new AjaxOptions(){ 
         HttpMethod = "Get", 
         UpdateTargetId = "Results", 
         LoadingElementId = "Loading", 
         OnSuccess = "changeUrl(data)" 
         }, 
     new { id = "Search" })) 
     { 
      //Fields go here 
     } 

ve javascript değiştirmek mümkün olmaz olmadan :

<script> 
    function changeUrl(data) { 
     //if you are using benalman's plugin with jQuery 1.9 
     location.hash = "#my_hash"; 
    } 
    </script> 

Not: fakat usi için ng $.browser benalman en eklentisinde (zaten jQuery 1.9 çıkarıldı), i location.hash = "#my_url";

İlgili konular