我的要求是,当我点击一个按钮时,它应该打开一个对话框,我可以在其中选择日期,最好是开始日期和结束日期。并且在单击ok / submit时,它应该将datetime传递给controller [HttpPost]动作方法。 这就是我尝试过的......不幸的是它不起作用
input name="ActivateBtn" type="submit" class="btn btn-primary" value="Activate" onclick="opendatedialog()" />
<script>
function opendatedialog() {
$("#datepickerdialog").dialog({
height: 300,
width: 500,
modal: true,
resizable: false,
buttons: {
"OK": function () {
var viewUrl = '@Url.Action("Activate", "User")';
$.post(viewUrl, new { startDate: $('.datepickerstart').val(), endDate: $('.datepickerend').val() });
$(this).dialog("close");
return true;
},
"Cancel": function () { $(this).dialog("close"); return false; }
},
open: function () {
$(this).siblings('.ui-dialog-buttonpane').find("button:contains('OK')").focus();
}
});
}
$(function () {
$('.datepickerstart').datepicker(
{
minDate: 0,
dateFormat: 'yy-mm-dd'
}).datepicker("setDate", "0");
$('.datepickerend').datepicker(
{
minDate: 0,
dateFormat: 'yy-mm-dd'
}).datepicker("setDate", "2099/12/31");
});
// UserController中
[HttpPost]
public ActionResult Activate(DateTime startDate, DateTime endDate)
{
//TO DO
return RedirectToAction("Index");
}
此处点击激活按钮,弹出带有datepicker的对话框。但之后ok按钮点击没有做任何事情。
答案 0 :(得分:0)
$.post(viewUrl, { startDate: $('.datepickerstart').val(), endDate: $('.datepickerend').val() });
这确实奏效了。我删除了“新”