Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/273.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/perl/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Ajax的奇怪行为_C#_Asp.net Mvc_Jquery - Fatal编程技术网

C# Ajax的奇怪行为

C# Ajax的奇怪行为,c#,asp.net-mvc,jquery,C#,Asp.net Mvc,Jquery,我正在开发ASP.NETMVC2.0应用程序。我使用的是Ajax表单。我有一个下拉菜单和一个按钮 单击按钮后,如果Ajax请求成功,我想重新加载下拉列表 因此,我在Ajax表单的回调函数中调用jquery Ajax函数 在jQueryAjax函数中,我编写代码来获取新数据,并将其绑定到下拉列表,以便用新数据重新加载它 在这里,一切第一次都运转良好。但是,当我下一次单击按钮时,会调用Ajax jquery函数,但它不会调用contoller操作方法 代码: 以下是我的jquery函数: <s

我正在开发ASP.NETMVC2.0应用程序。我使用的是Ajax表单。我有一个下拉菜单和一个按钮

单击按钮后,如果Ajax请求成功,我想重新加载下拉列表

因此,我在Ajax表单的回调函数中调用jquery Ajax函数

在jQueryAjax函数中,我编写代码来获取新数据,并将其绑定到下拉列表,以便用新数据重新加载它

在这里,一切第一次都运转良好。但是,当我下一次单击按钮时,会调用Ajax jquery函数,但它不会调用contoller操作方法

代码:

以下是我的jquery函数:

<script type="text/javascript">
        function GetData() {
            $.getJSON("/Home/GetUsers", null, function (data) {
                var selectList = $("#ddlUsers");
                selectList.empty();
                alert("Inside Get Json method of jquery Ajax");
                var defaultoption = $('<option>').text("--Select--").val("");
                selectList.append(defaultoption);
                $.each(data, function (index, optionData) {
                    var option = $('<option>').text(optionData.Text).val(optionData.Value);
                    alert(option);
                    selectList.append(option);

                });
            });
        }
        function Callback() {
            GetData();
            alert("Sucessfully done");
        }
        function Failed() {
            alert("Sorry, an error occured while processing your request");
        }
我无法理解为什么上面提到的方法没有被第二次调用,而GetData()却被调用了


请帮助..

我认为是缓存,请尝试在控制器方法之前添加此行:

[OutputCache(NoStore = true, Duration = 0, VaryByParam = "*")]

您也可以将这条线放置在控制器的顶部,如果您想将其应用于所有方法。

浏览器是否可以缓存ajax调用而不从服务器调用它?@whoshotjr..当然可以+1以供评论。这是真正的原因,因为浏览器缓存..它不调用服务器。。Thanks@ChtiWi..Superb工作得很好我让benn伤了我的头一个小时你一分钟就解决了谢谢很多。。
[OutputCache(NoStore = true, Duration = 0, VaryByParam = "*")]