我是否需要使用Web服务与JQuery进行“Ajax”以获取JSON格式的数据?同事们建议我使用“Httphandler”......最后,我想知道我是不是可以直接调用DataAccessLayer中的方法并将其传递给Ajax ......
我迷路了,请有人解释我如果我真的需要Web服务来使用JQuery进行Ajax ? 只有一台服务器(没有远程服务器),所以可能我不需要webservices?
答案 0 :(得分:1)
您实际上并不需要单独的Web服务。您实际上可以在同一页面上执行AJAX。我对此有点生疏,所以请耐心等待,但你要做的就是:
<asp:ToolkitScriptManager runat="server" EnablePageMethods="true"/>
[ScriptService]
属性添加到您的网页类声明[ScriptMethod]
属性。默认情况下,它以JSON格式传输,但您可以使用[ScriptMethod(ResponseFormat = ResponseFormat.Xml)]
[ScriptService]
public class MyPage : Page
{
[ScriptMethod]
public static string GetText() { return "Hello, world!"; }
}
<html>
<!-- jQuery scripts -->
<body>
<script language="javascript">
$.ready(function () {
var text = PageMethods.GetText();
$("#label1").value(text);
});
</script>
<form runat="server">
<asp:ToolkitScriptManager runat="server" EnablePageMethods="true"/>
<asp:Label runat="server" ID="label1"/>
</form>
</body>
</html>
答案 1 :(得分:0)
不,你没有。您需要做的就是
答案 2 :(得分:0)
您可以使用AJAX调用常规.aspx(我在asp.net中了解HttpHandler)页面。但在这种情况下,你正在做很多额外的工作(你必须停止常规的页面执行流程,确保你不返回一些垃圾,将响应转换为JSON等)同时-webservice不需要所有的基础设施常规页面(在asp.net中)需要,并且不会在服务器上产生额外负载。关于HttpHandler也一样。你只是在做你需要的东西,没有别的。