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 传递给控制器​​,而用户没有注意到传递.. 我猜是某种 $.post 但我不知道如何实现它..

更新:这是我的尝试,出了什么问题:

好的,这是我的脚本:

     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

    }
4

2 回答 2

2

我希望在不刷新或重新加载当前页面的情况下将 dateText 传递给控制器​​。怎么做?

你可以使用 AJAX。

于 2012-05-24T09:37:49.947 回答
0

使用 ajax 并发送 ajax 数据字符串中的所有变量或数据,并提供控制器的 url,例如

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

        }
    });
   }
于 2012-05-24T10:01:26.857 回答