我已经阅读了一些有关如何执行此操作的帖子,但无法将它们全部放在一起。
我有我的模型:
public class Period
{
[Required]
[DataType(DataType.DateTime)]
[Display(Name = "Start")]
public DateTime Start { get; set; }
[Required]
[DataType(DataType.DateTime)]
[Display(Name = "End")]
public DateTime End { get; set; }
}
我的控制器
public ActionResult Test()
{
return PartialView();
}
[HttpPost]
public ActionResult Test(Period model)
{
if(model.IsValid){
return RedirectToAction("Report", model)
}
return PartialView(model);
}
和局部视图
@model Period
<a onclick="openRequestOrderReportForm()" class="" role="button" aria-disabled="false">Report</a>
<div id="dRequestOrderReport">
@using (Ajax.BeginForm("Test", "Reports", null, new AjaxOptions { UpdateTargetId = "dRequestOrderReport" }, new { id = "RequestOrderReportForm" }))
{
@Html.EditorFor(m => Model)
}
</div>
<script type="text/javascript">
$(document).ready(function () {
$("#dRequestOrderReport").dialog({
modal: true,
autoOpen: false,
title:'title',
buttons: {
"Go": function () {
$("#RequestOrderReportForm").submit();
},
Cancel: function () {
$(this).dialog("close");
}
}
});
});
function openRequestOrderReportForm()
{
$("#dRequestOrderReport").dialog("open");
}
</script>
我需要能够验证输入 - 如果它无效,那么表单必须保持打开状态,如果它是有效的,整个页面必须进行其他操作。
最接近我想要的是jQuery Modal Dialogs 和 MVC3 Partial Views,但我无法让它工作。