我刚开始使用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与我的帖子传回我的控制器。感谢。
答案 0 :(得分:1)
您收到了日期,因为您是通过ajax
post
尝试
data: {
'Date': date,
'ModelId':'@Model.Id'
},
如果您希望id在表单中可用,则将其包含在隐藏字段中,如
@Html.HiddenFor(x=>x.Id)
其中x
指的是您的模型。如果第一个解决方案不起作用,请将id保存在隐藏字段中,然后在发送ajax调用之前获取隐藏字段的val,然后将其发送到ajax帖子