0

我已经阅读了一些有关如何执行此操作的帖子,但无法将它们全部放在一起。

我有我的模型:

   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,但我无法让它工作。

4

1 回答 1

0

此处描述的最终工作解决方案:

http://www.mayanksrivastava.com/2012/02/showing-aspnet-mvc-30-views-and-posting.html

于 2013-04-10T16:10:39.823 回答