2012-05-24 54 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的值 } –