首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >控制器操作调用inside按钮,通过加载单击事件,而不是第二次调用,在ASP.NET MVC中单击

控制器操作调用inside按钮,通过加载单击事件,而不是第二次调用,在ASP.NET MVC中单击
EN

Stack Overflow用户
提问于 2013-12-24 06:25:11
回答 1查看 768关注 0票数 0

我是ASP.NET MVC的新手。我的问题是:

我正在开发一个应用程序,在其中单击“显示日志”按钮,我需要显示一个弹出窗口,在该窗口上,网格视图会被动态内容弹出。我在cshtml中实现了“显示日志”按钮。在它的click事件中,我提到了javascript函数"OnShowLogClick“。在javascript函数"OnShowLogClick“中,我通过load方法调用了Controller (返回要绑定在网格中的动态数据),即:

代码语言:javascript
复制
  $(#popupWindowDiv).load("@Url.Action("Action", "Controller")", null,
            function (response, status, xhr) {
                    if (status == "error") {
                        alert("An error occurred while loading");
                }
                else {

                }
            });

我有两个问题

1)在初始单击“显示日志”按钮上,Controller操作为invoked.but (第二次单击javascript函数),但未调用控制器操作。

2) popupWindow内部的网格不受整个数据模型binded.Everytime的影响,只显示了9个条目。

请提前帮我谢谢

EN

回答 1

Stack Overflow用户

发布于 2014-01-10 11:32:17

这个问题是由于浏览器中的缓存造成的。当第二次请求从缓存获得输出时,它不是第二次被称为服务器请求,因此它有两种解决这个问题的方法。

1)如果在操作上面添加属性[OutputCache(NoStore = true,OutputCache= 0,VaryByParam =VaryByParam),那么缓存将不会维护该请求。

2)第二种方法是可以在ajax请求中添加缓存为false

代码语言:javascript
复制
    Example 
代码语言:javascript
复制
$.ajax({
            cache: false,
            type: "POST",
            url: "@(Url.Action("ActionName", "Controller"))",
            data:Model,
            success: function (data) {
            },
            error: displayerror
        });
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20755960

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档