3

我刚刚开始使用 asp.net / mvc3 / jquery 等。我有一个 jquery datepicker,到目前为止我的工作是:

$(document).ready(function () {
    $('#ImplementationStart').datepicker({
        onSelect: function (date) {
            $.ajax({
                url: '/request/update/',
                type: 'POST',
                data: {
                    'Date': date
                },
                dataType: "json",
                success: function () {
                    alert("success");
                },
                error: function (xhr, textStatus, error) {
                    console.log(xhr.statusText);
                    console.log(textStatus);
                    console.log(error);
                }
            });
        }
    });
});

在我的控制器中,我有这个方法:

    [HttpPost]
    public ActionResult Update(DateTime date)
    {

看起来我的日期被传入了。我想做的是从日期选择器所在的 .cshtml 页面更新适当的模型对象。在该页面上,我显示了@Model 属性,但我不确定如何将@Model.Request.ID 与我的帖子一起传回我的控制器。谢谢。

4

1 回答 1

1

ajax post你得到了日期,因为你在try中明确地发送了它

 data: {
         'Date': date,
         'ModelId':'@Model.Id'
        },

如果您希望 id 在表单中可用,请将其包含在隐藏字段中,例如

@Html.HiddenFor(x=>x.Id)

其中x是指您的模型。如果第一个解决方案不适合您将 id 保留在隐藏字段中,并且在发送 ajax 调用之前获取隐藏字段的 val,然后将其发送到 ajax 帖子中

于 2013-02-22T04:51:51.840 回答