我的视图中有一个脚本:
$('.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
}
答案 0 :(得分:2)
我希望dateText在没有当前的情况下传递给控制器 页面正在刷新或重新加载。怎么做?
你可以使用AJAX。
答案 1 :(得分: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");
}
});
}