2012-05-24 91 views
0

我有我的觀點的腳本是:通數據而無需刷新視圖

$('.datepicker').datepicker 
(
{ onSelect: function (dateText, inst) { 
    //pass dateText to my controller 

}); 
</script> 

我的控制器是這樣的:

public ActionResult Index() 
    { 
     string dateSelected = dateText; //read dateText here 
     if (DateTime.TryParse(dateSelected, out date)) 
     { 
      date = Convert.ToDateTime(dateSelected); 
      var reservations = db.Reservations.Where(r => r.Date == date).Include(r => r.Employee).Include(r => r.Room).OrderByDescending(r => r.Date); 

      return View(reservations); 
     } 
     return View(); 

    } 

我想dateText傳遞給控制器​​而不刷新或重新加載當前頁面。怎麼做?

我早先嚐試過表單,並在datepicker的onselect事件上,我自動提交表單,以便控制器可以接受它。但我不希望當前頁面被刷新或重新加載。

我只是想dateText傳遞給控制器​​無需用戶干預的流逝..某種$。員額我想,但我不知道如何實現它..

更新:這裏是我的嘗試,什麼是錯的:

確定這裏是我的腳本:

 JSONstring = JSON.stringify(dateText); 
    $.post("/Home/Index", { jsonData: JSONstring }); 

這裏是我的控制器:

 public ActionResult Index(string jsonData) 
    { 
     CacheClear(); 
     string dateSelected = jsonData; 
     ..... 
     //i tried to debug it, but no value of jsonData 

    } 

回答

0

使用Ajax和寄於阿賈克斯的數據字符串的所有變量或數據,並提供您的控制器的網址,例如

function add_to_cart(id , title, price,qty){ 

    $.ajax({ 
     type: "POST", 
    url: "your controller" + id , 
    data: "&title=" + title + "&price=" + price +"&quantity=" + qty , 
     complete: function(data) { 
      //alert("Item added to cart"); 

     } 
    }); 
    } 
2

我希望將dateText傳遞給控制器​​,而不會刷新或重新加載當前的 頁面。怎麼做?

您可以使用AJAX。

+0

一直在努力做到這一點,但我不完全理解,我只是一個初學者。 ..所以我試圖.post –

+0

@ eaon21然後告訴我們你已經嘗試過,也許我們可以幫助解決這個問題。 –

+0

確定這裏是我的腳本: JSONstring = JSON.stringify(dateText); $ .post(「/ Home/Index」,{jsonData:JSONstring}); 這裏是我的控制器: public ActionResult Index(string jsonData) { CacheClear(); string dateSelected = jsonData; ..... //我試圖調試它,但沒有jsonData的值 } –