jquery – MVC部分视图模型不刷新

前端之家收集整理的这篇文章主要介绍了jquery – MVC部分视图模型不刷新前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个局部视图,它被加载到asp.net MVC 3中的jQuery模式.问题是视图没有正确刷新.以下是事件的顺序:

1)主视图有一个列出不同事件记录的表.表格的每一行都有一个链接显示事件详细信息.
2)单击此表上的链接时,部分视图将加载到模态中.

这在某些情况下工作正常,在其他情况下,模型将需要很长时间才能加载.关闭局部视图/模态并单击主视图上表中的另一个链接后,将加载部分视图,显示上一次加载的数据.它没有正确刷新.

主视图上模态的定义:

加载请稍候…

<script type="text/javascript">
    $(document).ready(function () {
        $("#EventRegistrantSummary").dialog({
            bgiframe: true,autoOpen: false,height: 500,width: 980,resizable: false,modal: true
        });
    });
    function showEventRegistrantSummary(id) {
        $.get("/Event/EventRegistrantSummary/" + id,function (data) {
            $("#EventRegistrantSummary").html(data);
        });
        $("#EventRegistrantSummary").dialog('open'); return false;
    }
</script>

控制器:

public PartialViewResult EventRegistrantSummary(Guid id)
    {
        ModelState.Clear();
        Event e = db.Events.Single(ev => ev.ID == id);
        return PartialView(e);
    }

局部视图:

<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<model.Event>" %>
<% using (Ajax.BeginForm("EditUpdate",new AjaxOptions { UpdateTargetId="Target",InsertionMode= InsertionMode.Replace}))
       {%>

       <h6 style="text-align:center">Registration Summary: <%= Model.Name %></h6>

       <div style="float:left;width:35%">
            <fieldset id="Overview">
                <legend>Overview</legend>
                <div class="editor-label">
                    Total Registrants: <%= Model.BoatEventRegistrations.Count() %>
                </div>
            </fieldset>
           </div>
    <% } %>

任何帮助深表感谢.

解决方法

使用控制器操作上的 OutputCacheAttribute禁用缓存.
[OutputCache(NoStore = true,Duration = 0,VaryByParam = "*")]
public PartialViewResult EventRegistrantSummary(Guid id)
{
    ModelState.Clear();
    Event e = db.Events.Single(ev => ev.ID == id);
    return PartialView(e);
}

猜你在找的jQuery相关文章