Nat*_*eid 6 asp.net-mvc jquery
我有被加载到一个模态的jQuery在asp.net MVC 3的问题是,所述视图不刷新正确的局部视图.以下是事件的顺序:
1)主视图有一个列出不同事件记录的表.表格的每一行都有一个链接来显示事件详细信息.2)单击此表上的链接时,部分视图将加载到模态中.
这在某些情况下工作正常,在其他情况下,模型将需要很长时间才能加载.从表上主视图关闭局部视图/模态和点击另一个链接后,局部视图将加载示出从先前的负载中的数据.它没有正确刷新.
主视图上Modal的定义: 载入中,请稍候......
<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>
Run Code Online (Sandbox Code Playgroud)
控制器:
public PartialViewResult EventRegistrantSummary(Guid id)
{
ModelState.Clear();
Event e = db.Events.Single(ev => ev.ID == id);
return PartialView(e);
}
Run Code Online (Sandbox Code Playgroud)
局部视图:
<%@ 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>
<% } %>
Run Code Online (Sandbox Code Playgroud)
任何帮助深表感谢.
使用控制器操作上的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);
}
Run Code Online (Sandbox Code Playgroud)
听起来像是一个缓存问题.某些浏览器可以缓存GET请求.尝试通过设置替换$.getAJAX调用或尝试请求:$.ajaxcache: false$.post
$.ajax({
url: '<%= Url.Action("EventRegistrantSummary", "Event") %>',
type: 'GET',
cache: false,
data: { id: id },
success: function(data) {
$('#EventRegistrantSummary').html(data);
}
});
Run Code Online (Sandbox Code Playgroud)
此外,您不需要在EventRegistrantSummary操作中清除ModelState,因为您没有修改任何值.
| 归档时间: |
|
| 查看次数: |
14227 次 |
| 最近记录: |