Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/asp.net-mvc-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 列表未在mvc 3视图中刷新_Asp.net Mvc_Asp.net Mvc 3_Jquery - Fatal编程技术网

Asp.net mvc 列表未在mvc 3视图中刷新

Asp.net mvc 列表未在mvc 3视图中刷新,asp.net-mvc,asp.net-mvc-3,jquery,Asp.net Mvc,Asp.net Mvc 3,Jquery,我有一个asp.net视图,它有两个局部视图。一个用于编辑信息,另一个用于显示所做更改的列表。当我点击更新按钮时,列表没有更新。我使用了ajax.begin表单。我该怎么做 主要观点如下: <div class="accountdetails1"> @Html.Action("UpdateAccountDetails", new { dispute = dispute }) </div> <div> list of ch

我有一个asp.net视图,它有两个局部视图。一个用于编辑信息,另一个用于显示所做更改的列表。当我点击更新按钮时,列表没有更新。我使用了ajax.begin表单。我该怎么做

主要观点如下:

   <div class="accountdetails1">
    @Html.Action("UpdateAccountDetails", new { dispute = dispute })
    </div>

    <div>
    list of changes
    @Html.Action("GetAccountAudit")

    </div>

updateAccountDetails is like this in start:

@using (Ajax.BeginForm("UpdateAccountDetails", new AjaxOptions
{
    LoadingElementId = "loading",
    LoadingElementDuration = 2000,
    OnSuccess = "OnSuccess",
    OnBegin = "OnBegin",
}))
{

and functions are like this:

<script type="text/javascript">
    function OnSuccess() {
        var div = $('#dvMessage');
        div.html('');
        div.append('Account Information has been updated.');
    }

    function OnBegin() {
        var div = $('#dvMessage');
        div.html('');
    }
</script>

要显示更新的成功或失败,我是否需要在成功方法中更新更改列表?请建议您需要请求GetAccountAudit操作以返回列表。beginform仅请求UpdateAccountDetails操作

您可以在onSuccess函数中执行jquery ajax请求,以请求GetAccountAudit操作并更新html


这两个操作是否可以合并,以便在UpdateAccountDetails视图中返回列表?

@Ajax方法的工作方式如下:

@ActionLink-通过Ajax从指定的操作请求HTML,并将结果放入id等于AjaxOptions中指定的UpdateTargetId值的HTML元素中

@Ajax.BeginForm-获取usingAjax.BeginForm{..}中的所有输入、选择和其他表单元素,并使用Ajax将其提交到指定的操作,然后将响应放入AjaxOptions.UpdateTargetId属性中指定id的HTML元素

所以你需要像

<div id="myContainer" >
@using(Ajax.BeginForm("yourActionToProcessEdits", new AjaxOptions { UpdateTargetId = "myContainer" }))
{
.. Form for edit information
@Html.EditorFor(m => m.EditMe)
...

<input type="submit" value="Update" />

.. Display changes here
@Html.Raw(Model.MyChanges)

}

你有一个id为dvMessage的div吗?有。它显示消息,但不是列表,而是成功消息@Html.ActionGetAccountAudit不在此文件中dvMessage@Html.Action... 这不是片面的观点。它实际上向您的服务器发出了一个额外的请求。@Dismissible:如何做然后如何做什么?如果您想显示局部视图,那么只需使用@Html.partial。。。。我只是说,这两件事是非常不同的事情。任何样本链接或代码样本请。我是jQueryAjax和MVC的新手