是否有推荐的方法在 WebForms 应用程序中进行 AJAX 调用?
我知道有内置的 ASP.NET AJAX 组件,但它们似乎有点重。我习惯在 MVC 中这样做,它看起来很干净。
我可以使用页面方法,但它们要求我的方法是静态的,这使得访问我的数据库等变得更加困难。
我假设我也可以只使用 jQuery 进行调用,尽管过去尝试这样做失败了,通常是由于返回数据的方式(JSON 等)存在问题。
我的目标是传递一个字符串片段并取回与该片段匹配的项目列表。速度会很好。我可以得到一些建议吗?
是否有推荐的方法在 WebForms 应用程序中进行 AJAX 调用?
我知道有内置的 ASP.NET AJAX 组件,但它们似乎有点重。我习惯在 MVC 中这样做,它看起来很干净。
我可以使用页面方法,但它们要求我的方法是静态的,这使得访问我的数据库等变得更加困难。
我假设我也可以只使用 jQuery 进行调用,尽管过去尝试这样做失败了,通常是由于返回数据的方式(JSON 等)存在问题。
我的目标是传递一个字符串片段并取回与该片段匹配的项目列表。速度会很好。我可以得到一些建议吗?
使用 HTTP 处理程序 (.ashx),这将赋予页面实例和灵活性,使其可通过 jQuery.ajax()
方法进行脚本调用,如下所示:
$.ajax({
url: "Handler/MyHandler.ashx",
contentType: "application/json; charset=utf-8",
data: { 'Id': '10000', 'Type': 'Employee' },
success: OnSuccess,
error: OnFail
});
function OnSuccess() {
// Do whatever needs to happen on success here
}
function OnFail() {
// Do whatever needs to happen on failure here
}
我总是使用 JQuery AJAX 调用:
$.ajax({
url: 'your url',
headers: { headertitle: headerdata},
cache: false,
success: function(data) {
//success function. Returned data is stored in the data variable.
}
});
如果您还有其他问题,请告诉我。
我会用 jQuery AJAX 调用来投票。
但在我从事 WebForms 的这些年里,调用代码隐藏文件方法并不是首选方式。我会将功能公开为 Web 服务。您可以将其作为 WCF 或 WebAPI(来自 MVC,WebAPI 可能更适合您的专业知识)。
如果它是执行 AutoComplete 功能的一次性函数调用(我假设基于您描述的问题),您可能可以通过调用代码隐藏方法来解决问题,并且您可以使用 AjaxControlToolkit 的 AutoCompleter 控件。但是,如果您发现通过 AJAX 进行的调用越来越多,则需要考虑将服务调用放入真正的 Web 服务中。