1

出色地,

我有一个 PartialView,它生成一个带有复杂模型的 VIEW。我有一个按钮,我想完全重新生成我的 PartialView

    @if (!Model.editFlag)
{
<button id="EditButton" class='btn btn-small'>Edit</button>
}
else
{
<button  class='btn btn-small'>Update</button>
}

这是我的 Ajax CALL

    $.ajax(
{
    type: "POST",
    url: "@Url.Action("DeviceDetails_Edit","DeviceLayout")"  ,
    data:
    {
        DeviceID: '@Model.DeviceID',
        DeviceName: '@Model.DeviceName',
        DeviceDescription: '@Model.DeviceDescription',
        editFlag: '@Model.editFlag',
    },
    cache:false,
    success: function(html) 
        { 
            alert('success');
        },
        error: function(e) 
            { 
            alert("errorn"); 
            }

});
});

从控制器,我有一个 ActionResult ,它返回一个带有 MY NEW SPECIFIC MODEL 的局部视图 return PartialView("_DeviceDetails", model);

在我看来,存在更多的 PartialView`s

我该如何解决这个问题?

4

1 回答 1

2

我假设您的页面上已经有一个 div。使用 jQuery,您可以清除div单击事件按钮中的元素,例如

<div id="myView"></div>

使用 jquery,您可以使用以下方法清除 div empty

$("button").click (function (e) {

   // clear the html on the  div
   $("#myDiv").empty();


    // make a post to reload the div:
    $.ajax(
    {
        type: "POST",
        url: "@Url.Action("DeviceDetails_Edit","DeviceLayout")"  ,
        data:
        {
            DeviceID: '@Model.DeviceID',
            DeviceName: '@Model.DeviceName',
            DeviceDescription: '@Model.DeviceDescription',
            editFlag: '@Model.editFlag',
        },
        cache:false,
        success:function(html) 
                { 
                    // fill the div with the html returned by action
                    $("#myView").html(html);
                },
        error:  function(e) 
                { 
                    alert("errorn"); 
                }
    });   

});
于 2013-08-05T14:51:26.270 回答