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