关闭模态后,在不同的局部视图上渲染数据

时间:2015-07-15 00:56:00

标签: jquery json asp.net-mvc viewmodel partial-views

我已经回顾了很多例子,但仍无法使其发挥作用。

我正在尝试返回数据对象,以便在关闭模态后不同的局部视图上显示而不刷新页面。

@using (Html.BeginForm("CreateWebOrder", null, FormMethod.Get))
{
    <div class="row">
        <div class="col-lg-6">

            @*//@Html.Partial("_DisplayShipToInfo", Model)*@

            @if (Model.Ship_To_Name == null && Model.WebOrderDetails.Count == 0)
            {
                <div class="pull-left col-lg-1">
                    <a class="btn btn-success" data-modal="" href="/WebOrder/CreateShipTo" id="btnCreate">
                        <span class="glyphicon glyphicon-plus"></span>
                    </a>
                </div>
                  **<div id="partialDiv">
                     @Html.Partial("_DisplayShipToInfo", Model)
                  </div>**
            }
            else
            {
                @Html.Partial("_DisplayShipToInfo", Model)
            }
        </div>

        <div class="col-lg-6" data-posey-ajax="true" data-posey-target="#DisplayBillToInfo">
            @Html.Partial("_DisplayBillToInfo", Model)
        </div>
    </div>
}

我创建了一个局部视图&#34; _AddShipToInfo&#34;用于添加数据。

我有另一个局部视图&#34; _DisplayShipToInfo&#34;用于显示数据。

显示局部视图&#34; _DisplayShipToInfo&#34;包含以下内容:

@model PoseySqlApp.ViewModels.WebOrderVM

<div>
    <div>
        @Html.DisplayFor(model => model.Ship_To_Name)
    </div>
    <div>
        @Html.DisplayFor(model => model.Ship_To_Address_1)
    </div>
    <div>
        @Html.DisplayFor(model => model.Ship_To_Address_2)
    </div>
    <div>
        @Html.DisplayFor(model => model.Ship_To_City_Name)
        @Html.DisplayFor(model => model.Ship_To_State_Code)
        @Html.DisplayFor(model => model.Ship_To_Zip_Code)
    </div>
</div>

控制器操作正在返回数据对象。

    public async Task<JsonResult> Create(WebOrderVM webOrderVM)
    {
        if (ModelState.IsValid)
        {

            Mapper.CreateMap<WebOrder, WebOrderVM>();

            WebOrder webOrder = Mapper.DynamicMap<WebOrder>(webOrderVM);

            db.WebOrders.Add(webOrder);
            await db.SaveChangesAsync();
            return Json(new {webOrder, success = true });
        }

        return Json(webOrderVM, JsonRequestBehavior.AllowGet);
    }

如何让数据对象呈现部分视图&#34; _DisplayShipTo&#34;来自jquery。

Jquery的

function bindForm(dialog) {
    $('form', dialog).submit(function () {
        $('#progress').show();
        $.ajax({
            url: this.action,
            type: this.method,
            data: $(this).serialize(),
            success: function (result) {
                if (result.success) {
                    $('#myModal').modal('hide');
                    $('#progress').hide();
                    **$("#partialDiv").html(result)**
                    location.reload();
                } else {
                    $('#progress').hide();
                    $('#myModalContent').html(result);
                    bindForm();
                }
            }
        });
        return false;
    });

0 个答案:

没有答案