因为jquery丰富的插件,以及对ajax的支持,所以用它和服务器端进行数据交互肯定是少不了的。

asp.net ajax就是回味了,不过关于ajax调用服务器端的方法看是看了不少,今天动手去做个demo的时候

还出了点小问题,先记下了,最近肯定会用的。

 

先来看看jquery方式:

 

要调用webservice,肯定是建一个webservice了,文件名称就叫AjaxService.asmx,内容归就很简单了,

提供一个方法,返回一个简单的string数据类型,还是注意在类名前加上

[System.Web.Script.Services.ScriptService],在方法前加上[WebService]的标记,为什么我也不知道

,就是因为不加的话就调用不了,所以加上了。这里就只有一个方法:

 

jquery和asp.net ajax两种方式调用webservice中的公用方法和.cs中的静态方法[WebMethod]
jquery和asp.net ajax两种方式调用webservice中的公用方法和.cs中的静态方法
public string sayHello(string s)
}

 

新建一个测试页面default.aspx,在代码里也添加一个方法,也是返回简单的数据类型,该方法想要被js

调用的话还必须是静态的,有点欺人!这都算了,还要加上  [System.Web.Services.WebMethod]才愿意

,方法如下:

 

jquery和asp.net ajax两种方式调用webservice中的公用方法和.cs中的静态方法[System.Web.Services.WebMethod]
jquery和asp.net ajax两种方式调用webservice中的公用方法和.cs中的静态方法        
public static string AjaxServiceTest(string str)
        }

 

前台代码很简单,就提供一个让输入的文本框,两个按钮:
<form >

        <div>
        <h1>返回简单的数据类型</h1>
        <hr />
            <input />
            <input />
            <input />
        <hr />
      
        </div>
    </form>
可以看到按钮上并没有onclick来绑定方法,这一点就是jquery牛比了,它来绑定就行了:

 

 1jquery和asp.net ajax两种方式调用webservice中的公用方法和.cs中的静态方法<script type="text/javascript" src="jquery-1.2.6.js"></script>
 2jquery和asp.net ajax两种方式调用webservice中的公用方法和.cs中的静态方法    <script language="javascript" type="text/javascript">
 3>

 

运行效果就不说,输入“medal”,就弹出“hello,medal”。

 

asp.net ajax调用webservice方法返回复杂类型

 

既然是复杂类型,就新建一个类型了,就叫Users类吧,就四个属性:

 

 1jquery和asp.net ajax两种方式调用webservice中的公用方法和.cs中的静态方法public class Users
 2        }

 

在webservice中来两个方法,一个是返回单个Users对象,一个返回多个Users对象:

 

 

jquery和asp.net ajax两种方式调用webservice中的公用方法和.cs中的静态方法[WebMethod]
jquery和asp.net ajax两种方式调用webservice中的公用方法和.cs中的静态方法        
public Users GetUser()
        }

 

 

在类前面还的多两个标记,
 [System.Web.Script.Services.ScriptService]
 [GenerateScriptType(typeof(Users))]
第一个标记就不说了,要被调用必须加的,第二个就是返回类型是自定义的。
新建一个default.aspx页面来调用看看,html代码中,一个users对象以input把其属性显示出来,多个

users对象以table方式呈现,当然<scriptManager>控件和webservice的引用是必不可少的:
form >
    <asp:ScriptManager ID="ScriptManager1" runat="server">
    <Services>
    <asp:ServiceReference Path="UsersServices.asmx" />
    </Services>
    </asp:ScriptManager>
   
    <div>
    <h1>UserInfo:</h1>
    <hr />
    Id:<input /><br />
    UserName:<input /><br />
    PassWord:<input /><br />
    Email:<input />
    <hr />
    <input /><input

; /><br />
    <div ></div>
    </div>
   
    </form>
主角登场,js代码来了,都有注释的,不啰嗦了:

 

 

jquery和asp.net ajax两种方式调用webservice中的公用方法和.cs中的静态方法<script type="text/javascript">
jquery和asp.net ajax两种方式调用webservice中的公用方法和.cs中的静态方法    
//调用webservice中返回一个users的方法
jquery和asp.net ajax两种方式调用webservice中的公用方法和.cs中的静态方法
    function GetUser()
script>

 

效果是页面刚加载什么都没有,单击按钮之后数据加载出来。

jquery和asp.net ajax两种方式调用webservice中的公用方法和.cs中的静态方法 

 

相关文章:

  • 2021-08-28
  • 2021-06-16
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-06-20
  • 2021-08-12
猜你喜欢
  • 2022-12-23
  • 2021-11-29
  • 2022-02-09
  • 2022-02-01
  • 2021-09-22
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案