Asp.net mvc 列表未在mvc 3视图中刷新
我有一个asp.net视图,它有两个局部视图。一个用于编辑信息,另一个用于显示所做更改的列表。当我点击更新按钮时,列表没有更新。我使用了ajax.begin表单。我该怎么做 主要观点如下: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
<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的新手