我的网站上的 AJAX 调用数量不断增加。
我的 AJAX 代码如下所示:
function setupNameAutocomplete(id) {
$(id).autocomplete({
source: function(request, response) {
$.ajax({
url: "selectName.aspx/getNameAutocomplete",
....
最初,上述 javascript 代码是在网页上使用的,用户在该网页上输入要搜索的人名;我决定要对名称进行自动填充。
但是,当我继续开发网站时,我决定希望能够在许多页面上使用相同的“名称”自动完成功能。从逻辑上讲,将我的 javascript 代码放入外部 .js 文件中而不是在每个页面上重复它是有意义的。
我也想将处理 AJAX 的 .net 代码放在它自己的文件中,这也是有道理的。 .net 自动完成代码如下所示:
[WebMethod]
public static IEnumerable<string> getNameAutocomplete(string text)
{
IEnumerable<string> values = lookupNamesThatStartWith(text);
return values;
}
当然,这些代码似乎属于外部 .asmx 或 .ashx 文件,但除非我从 selectName.aspx 调用上述代码,否则我无法让我的 javascript 代码正常工作。
如何在单独的代码文件中获取 AJAX .net 代码?
最佳答案
如果我正确理解您的问题,一个可行的解决方案是让您的服务继承一个基类,该基类将实现通用的 WebMethod
。
这样,或者您可以通过将自动完成查找的逻辑抽象到一个类中,然后根据需要每次从您的 WebMethod
中调用它,从而使其“非常干净”。
关于asp.net - 将自动完成方法放在单独的 Web 文件中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4463165/