我正在开发 ASP.net MVC 2.0 应用程序。我正在使用 Ajax 表单。在那我有一个下拉菜单和一个按钮。
单击按钮后,如果 Ajax 请求成功,我想重新加载下拉列表。
所以,我在 Ajax 表单的回调函数中调用了一个 jquery Ajax 函数。
在那个 jquery Ajax 函数中,我正在编写代码来获取新数据并绑定下拉,以便重新加载新数据。
在这里,一切都是第一次正常工作。但是,当我下次单击该按钮时,会调用 Ajax jquery 函数,但它没有达到控制器操作方法。
代码:
这是我的 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");
}
控制器内部的方法:
[HttpGet]
public JsonResult GetUsers() ----> Method that is called from GetData() Ajax call
{
var data = GetUsersList();
return Json(data, JsonRequestBehavior.AllowGet);
}
public SelectList GetUsersList()
{
Db Fectch
return data;
}
我无法理解为什么没有第二次调用上述方法,但调用了 GetData()。
请帮忙..