2009-08-31 20 views
1

我一直在网站上工作了很长一段时间,大量使用ASP.Net 3.5,它的许多Ajax功能。我特别使用ScriptManager来注册WebServices(.asmx)。我也在各地使用他们的$ get('idnamehere')方法。我没有真正使用任何 Ajax.Net预先构建的工具(例如来自Toolkit)都是自定义的。我正在考虑将ASP.Net Ajax ScriptManager Javascript迁移到JQuery,我需要注意什么?

我想转移到jQuery,因为它似乎更有用。我需要注意什么?这更明智吗?我应该从我的主页面一起移除ASP.Net ScriptManager吗?

这里是什么我的JavaScript可能目前看起来像一个示例:

function doSomethingAjaxy() { 
    var dropDownList = $get('dropDownListClientIDHere'); 
    MyWebServiceIRegistered.CallSomething(dropDownList.value, onSuccess, onFail); 
} 
function onSuccess(result) { 
    alert('OMGWEE: ' + result); 
} 
function onFail(result) { 
    alert('OMGFAIL: ' + result._message); 
} 

假设上面,有什么需要改变,如果我搬到JQuery的?

回答

2

您可以使用jQuery的$ .ajax()方法来调用ASP.Net Web服务,而不必让脚本管理器为您构建“调用者”。效率更高。像克里斯说的那样,encosia.com有一些关于这个主题的优秀文章。可以用$('#idhere')[0](返回对象)替换$ get(),或者省略[0]来调用任何特定于jQuery的方法。

你可能想看看一个特别Encosia.com文章是在这里:

http://encosia.com/2009/07/21/simplify-calling-asp-net-ajax-services-from-jquery/

1

您仍然可以保留您的asmx服务和后端。查看www.encosia.com关于使用jquery调用asmx服务的一些精彩文章。 Fiddler也很有帮助,因此您可以看到您生成的请求和服务器的响应。希望这可以帮助。

相关问题