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