Jquery的Asp.Net 2.0的Ajax属性

时间:2008-11-15 08:21:58

标签: jquery ajax asp.net-ajax asp.net-2.0

我总是在博客中看到这样的代码:

$.ajax({
                    type: "POST",
                    contentType: "application/json; charset=utf-8",
                    url: "WebService.asmx/HelloWorld",
                    data: "{}",
                    dataType: "json",
                    success: function(msg) {
                        alert(msg.d);
                    }
                });

但我认为这只适用于asp.net 3.5。我无法用2.0运行它。如何在我的应用程序中使用这些代码?

6 个答案:

答案 0 :(得分:2)

您需要将此属性添加到您的网络服务器类

[System.Web.Script.Services.ScriptService]
public class Service : System.Web.Services.WebService

此功能的属性

[ScriptMethod(ResponseFormat = ResponseFormat.Json)]

您在技术上不需要指定responseformat,因为它会响应 到您在请求中指定的格式。并且必须在请求中指定格式。

问候
ķ

答案 1 :(得分:1)

如果您使用jQuery连接到服务器,则不需要HTML中的ScriptManager

我认为你代码的其他部分是正确的。只需删除ScriptManager

即可

答案 2 :(得分:0)

我已经知道这篇文章,但它无法帮助我。

在我的示例应用中,我使用以下代码:

我的Jquery代码:

     $(document).ready(function() {            
        $('#clKaydet').click(function() {
            $.ajax({
                type: "POST",
                contentType: "application/json; charset=utf-8",
                url: "WebService.asmx/HelloWorld",
                data: "{}",
                dataType: "json",
                success: function(msg) {
                    alert(msg);
                }
            });

        });

    });

我的Html代码:

<form id="form1" runat="server">
    <asp:ScriptManager ID="ScriptManager1" EnablePageMethods="true" runat="server" />
    <div>

        <input type="button" id="clKaydet" runat="server" value="Kayıt" onclick="Kayit()" />
    </div>

    </div>
    </form>

我的Webservise代码:

  <WebMethod()> _
Public Function HelloWorld() As String
    Dim sText As String = "Hello"
    Return sText
End Function

有任何错误吗?

答案 3 :(得分:0)

我们使用jQuery进行所有DOM操作,但在将数据发送回服务器时,我们使用ASP.Net AJAX来利用自动生成的代理类

让生活变得简单!

答案 4 :(得分:0)

我认为你缺少的是用WebMethod标记标记的方法将数据序列化为XML,而不是JSON。使用ASP.NET MVC,您可以本机返回JSON,但如果您想为WebMethod使用JSON,则可能需要编写自己的转换器。我建议尝试将AJAX调用的数据类型更改为“xml”,看看是否有效。

我也没有使用jquery for AJAX,所以我还没有尝试过(还)。

答案 5 :(得分:0)

总之,您是否这样说,我不能直接使用这些代码与asp.net 2.0?