我是ASP.NET MVC的新手。 我的问题是:
我正在开发一个应用程序,在其中单击“显示日志”按钮,我需要显示一个弹出窗口,其中的网格视图将被动态内容填充。 我在cshtml中实现了“显示日志”按钮。在其click事件中,我提到了一个javascript函数“OnShowLogClick”。 里面的javascript函数“OnShowLogClick” 我通过以下的加载方法调用了我的Controller Action(它将动态数据返回到网格中)。
$(#popupWindowDiv).load("@Url.Action("Action", "Controller")", null,
function (response, status, xhr) {
if (status == "error") {
alert("An error occurred while loading");
}
else {
}
});
我有2个问题
1)On intial点击“Show Log”按钮,调用Controller动作。但是第二次点击时,javascript函数被执行,但是没有调用控制器动作。
2)popupWindow内部的网格没有用整个数据模型绑定。每次只显示9个条目。
请帮帮我 提前致谢
答案 0 :(得分:0)
此问题是由于浏览器中的缓存造成的。当你第二次请求同时从缓存中获取输出时,它第二次没有被称为服务器请求,所以它有两种方法来解决这个问题
1)如果您在操作上方添加属性 [OutputCache(NoStore = true,Duration = 0,VaryByParam =“”)] ,那么缓存将无法维护请求。
2)第二种方式是你可以在ajax请求中添加缓存为false 示例
$.ajax({
cache: false,
type: "POST",
url: "@(Url.Action("ActionName", "Controller"))",
data:Model,
success: function (data) {
},
error: displayerror
});