0

我正在 mvc4 中构建事件日历,我已经使用 JQuery 在 JavaScript 中构建了简单的日历。我可以通过单击相应的日期来获取日期。我想在控制器的一个操作中获取此日期,以便我可以使用此日期保存在数据库中。

家庭控制器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]

    public ActionResult Index(string date)
    {

        if (Request.IsAjaxRequest())
        {
            return Json(date, JsonRequestBehavior.AllowGet);
        }

        return RedirectToAction("Index");
    }
4

1 回答 1

2

您可能想要@Url.Action("actionName", "controllerName")而不是@Url.Content(). @Url.Content用于访问文件而不是控制器操作。或者,@Url.RouteUrl如果您为该操作定义了路线,则可以使用。

此外,您可能希望更改data为使用data: { date: day.toDateString() }以匹配操作的参数。

于 2013-05-03T12:38:03.013 回答