我认为我有一个脚本:
$('.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
}