1

在我的 jquery 中,我可以调用 Post 操作。我的问题是,如果 ModelState.IsValid 返回要在 jquery.dialog 中加载的部分视图。我该怎么做?从过去4天开始一直在挣扎。请帮忙。

这是我的代码。我有一个帖子操作如下:

[HttpPost]
        public ActionResult Add(MyModel mj)
        {
            if (ModelState.IsValid)
            {
        mj.Id = mj.ModifyJob();
            }
            else
            {
                return new JsonResult() { Data = "error" };
            }
            return View(mj);
        }

jquery如下:

<script type="text/javascript">
       $(function () {
           $('#new-value-link').click(function () {
               $.post('<%: Url.Action("Add","MyController") %>',
                $('#addform').serialize(),
                function (data) {
                    success(data);
                });     
               return false;
           });
       });
       function success(data) {
           if (data != "error") {
               var href = this.href;
               $('#dialog').dialog({
                   modal: true,
                   height: 700,
                   width: 900,
                   open: function (event, ui) {
                       $(this).load(href, function (result) {
                            $('#Preview-form').submit(function () {
                                $.ajax({
                                    url: this.action,
                                    type: this.method,
                                    data: $(this).serialize(),
                                    success: function (json) {
                                        $('#dialog').dialog('close');
                                        window.location = json.redirectTo;
                                    }
                                });
                                return false;
                            });
                       });
                   }
               });
           }
           else {
               alert('hi');
           }
           return;
       }
4

1 回答 1

0

你应该回来

return new ContentResult("error");
于 2012-08-17T16:29:13.110 回答