如何获得ajax在mvc4控制器操作中发布的值asp.net
问题描述:
我正在mvc4中构建事件日历,我使用JQuery在JavaScript中构建了简单的日历。我可以通过单击月份中的相应日期来获取日期。我想在控制器的一个动作中获取这个日期,以便我可以使用这个日期保存在数据库中。如何获得ajax在mvc4控制器操作中发布的值asp.net
HomeController的:index.cshtml
:
function getDate() {
$('.cal_daybox').on('click', function() {
var timestamp = parseInt($(this).attr('id'));
var day = new Date(timestamp);
alert("You clicked " + day.toDateString());
var url = '@Url.Content("~/Events/Index")';
// window.location = url;
var date =day.toDateString();
$.ajax({
type: "POST",
url: url,
data: date,
dataType:"json"
});
return false;
});
}
现在我能得到这个日期的调试器,但我想显示此日期在其他视图。你能告诉我如何将这个日期值传递给控制器,因为下面的代码不工作?
Eventscontroller.cs
:
[HttpPost]
答
你可能想@Url.Action("actionName", "controllerName")
,而不是@Url.Content()
。 @Url.Content
用于访问不是控制器操作的文件。或者,如果您有为该操作定义的路由,则可以使用@Url.RouteUrl
。
此外,您可能需要更改data
以使用data: { date: day.toDateString() }
来匹配操作的参数。
非常感谢你....它现在的工作 – 2013-05-03 12:53:56
你非常欢迎。请记住标记接受的答案(绿色检查在左边),以便参考未来的访问者(以及保持您的接受评级并赚取几品脱)。 ;-)另外,欢迎来到StackOverflow! – 2013-05-03 13:39:13