从.net页面中的javascript消费Web服务

时间:2009-11-06 22:35:58

标签: c# javascript jquery asp.net web-services

怎么做?我对此完全陌生,并希望开始学习它。我将有一个树结构,很可能是一个html / Javascript树,需要通过Web Services保存到数据库中。

使用ASP .net web services + asp.net 3.5进行此操作的最有效方法是什么?

更新: 感谢所有的答案,我仍然遗漏了这个场景的一些部分,即: 1)当要将节点添加到树中时,用户将获得弹出窗口,其中将输入一些信息,保存在数据库中,以及从数据库返回的整数代码。在它返回时,我需要做一些逻辑,并将一个节点(或几个)插入所选的节点。等等,等等。根据我的理解,这个逻辑(代码的内容)必须在我的Javascript代码中在客户端上执行。 2)弹出窗口关闭后会触发树“刷新”的内容是什么? 3).net在哪里有这张照片?从我收集的内容来看,这里根本没有执行服务器端编码(除了Web服务)。 这是目前的总体方向,使用.net控件远离服务器端编码并使用选择的Javascript库+ Web服务吗?

谢谢大家。

4 个答案:

答案 0 :(得分:4)

您可以通过使用ASP.net Ajax调用来实现此目的。在服务器端,您可以创建具有ScriptService:

属性的Web服务(WCF或asmx)
namespace MyCompany.Project.Services
{
    [WebService(Namespace = "http://tempuri.org/")]
    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
    [System.Web.Script.Services.ScriptService]
    public class MyWebServiceClass : System.Web.Services.WebService
    {

        [WebMethod]
        public string GreetFromServer(string name)
        {
            return "Hello, " + name;
        }
    }
}

在页面上,添加一个引用您的Web服务的ScriptManager。

<asp:ScriptManager id="scriptManager" runat="server">
   <Services>
      <asp:ServiceReference Path="~/Services/MyWebServiceClass"/>
   </Services>
</asp:ScriptManager>

然后在客户端(JavaScript):

function invokeService(){
   MyCompany.Project.Services.MyWebServiceClass.GreetFromServer("Juri", onSuccess, onFailure);
}

function onSuccess(result){
  //check if result different null etc..It will be in JSON format, so deserialize
  //use result
}

function onFailure(){
   //handle errors
}

这应该只是提示如何创建服务并从JavaScript中访问它。我现在大部分时间都把它写出来,没有检查 提示:使用Firebug!这对于验证在JavaScript客户端代码和服务器端的Web服务之间来回发送的数据非常有用。

just written a blog post有一个可下载的示例,它描述了使用asmx和WCF Web服务的客户端 - 服务器通信。

答案 1 :(得分:1)

Encosia.com拥有您需要的一切:

Using jQuery to Consume ASP.NET JSON Web Services

答案 2 :(得分:0)

我建议你在html / Javascript树的客户端使用jquery。这是一个让你开始在asp.net中使用jquery的教程

http://dotnetslackers.com/articles/ajax/Using-jQuery-with-ASP-NET.aspx

答案 3 :(得分:0)

相关问题