【发布时间】:2011-07-25 03:48:54
【问题描述】:
我正在尝试在 MVC 3 中使用部分视图填充 div。我的控制器如下所示:
[HttpPost]
public ActionResult GetCustomerList(string searchString)
{
var custService = new CustomerViewModels();
var custListVM = custService.GetSearchList(searchString);
return PartialView("GetCustomersList", custListVM);
}
我的 jQuery 调用如下所示:
function getCustomerList(searchCriteria) {
$.ajax({
url: 'Home/GetCustomerList',
type: 'POST',
async: false,
data: { searchString: searchCriteria },
success: function (result) {
$("#customerTabBody").html(result);
}
});
};
它工作正常。我开始怀疑我是否可以使用 jQuery 加载方法用更少的代码做同样的事情,然后写了这个:
function getCustomerList(searchCriteria) {
$("#customerTabBody").load('Home/GetCustomerList', { searchString: searchCriteria });
};
它返回一个错误,指出找不到资源。我试过使用@Url.Action,但它编码了我硬编码的相同控制器路径。在 Firebug 中,我可以看到发布到的 URL 是相同的,并且 searchString 参数在两个实例中的格式相同。
有什么区别 - 为什么加载不起作用?
谢谢
【问题讨论】:
-
你为什么在 $.ajax 调用中设置 async: false ?
-
我需要在等待响应时阻止用户继续输入字符。
标签: jquery asp.net-mvc ajax load