初试.net使用ajax调用后台方法

前端之家收集整理的这篇文章主要介绍了初试.net使用ajax调用后台方法前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

方法一:

第一步,建立一个.aspx文件

在查看其源代码里写:即.aspx.cs,主要是使用using System.Web.Services;

关键处:[WebMethod]

  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Web;
  5. using System.Web.UI;
  6. using System.Web.UI.WebControls;
  7. using System.Web.Services;
  8.  
  9. public partial class Default2 : System.Web.UI.Page
  10. {
  11. protected void Page_Load(object sender,EventArgs e)
  12. {
  13.  
  14. }
  15. [WebMethod]
  16. public static string HandleEvent01()
  17. {
  18. //code...
  19. return "YOUR DATA";
  20. }
  21. }

在.aspx文件里写:
  1. <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default2.aspx.cs" Inherits="Default2" %>
  2.  
  3. <!DOCTYPE html >
  4.  
  5. <html xmlns="http://www.w3.org/1999/xhtml">
  6. <head runat="server">
  7. <title></title>
  8. <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
  9. <script type="text/javascript">
  10. $(function(){
  11. $.ajax({
  12. type: "POST",contentType: "application/json",url: "Default2.aspx/HandleEvent01",//调用WebService的地址和方法名称组合 ---- WsURL/方法
  13. dataType: 'json',//WebService 返回Json类型 或者 Json/string
  14. success: function(re) {
  15. $('#re_method04').html(re.d);
  16. }
  17. });
  18. });
  19. </script>
  20. </head>
  21. <body>
  22. <form id="form1" runat="server">
  23. <div id="re_method04">
  24. </div>
  25. </form>
  26. </body>
  27. </html>

方法二:

建立一个Handler.ashx。类作为后台处理请求:

  1. <%@ WebHandler Language="C#" Class="Handler" %>
  2.  
  3. using System;
  4. using System.Web;
  5.  
  6. public class Handler : IHttpHandler {
  7. public void ProcessRequest (HttpContext context) {
  8. Json j = new Json();
  9. j.Msg = "试验成功了,哈哈哈哈!";
  10. context.Response.Write(MyJsonConvert.SerializeObjectEx(j));
  11. }
  12. public bool IsReusable {
  13. get {
  14. return false;
  15. }
  16. }
  17.  
  18. }
前台访问:
  1. <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default2.aspx.cs" Inherits="Default2" %>
  2.  
  3. <!DOCTYPE html >
  4.  
  5. <html xmlns="http://www.w3.org/1999/xhtml">
  6. <head runat="server">
  7. <title></title>
  8. <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
  9. <script type="text/javascript">
  10. $(function () {
  11. $.ajax({
  12. type: "POST",url: "Handler.ashx/ProcessRequest",//调用WebService的地址和方法名称组合 ---- WsURL/方法
  13. dataType: 'json',//WebService 返回Json类型 或者 Json/string
  14. success: function (re) {
  15. console.info(re);
  16. $('#re_method04').html(re.Msg);
  17. }
  18. });
  19.  
  20. });
  21. </script>
  22. </head>
  23. <body>
  24. <form id="form1" runat="server">
  25. <div id="re_method04">
  26. </div>
  27. </form>
  28. </body>
  29. </html>

序列化JSON使用的是Newtonsoft:

  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Web;
  5. using Newtonsoft.Json;
  6.  
  7. /// <summary>
  8. ///MyJsonConvert
  9. /// 序列化对象为JSON
  10. /// </summary>
  11. public class MyJsonConvert
  12. {
  13. public MyJsonConvert()
  14. {
  15. }
  16. public static string SerializeObjectEx(object value)
  17. {
  18. Newtonsoft.Json.Converters.IsoDateTimeConverter timeConverter = new Newtonsoft.Json.Converters.IsoDateTimeConverter(); //这里使用自定义日期格式,默认是ISO8601格式
  19.  
  20. timeConverter.DateTimeFormat = "yyyy-MM-dd"; //设置时间格式
  21. Newtonsoft.Json.Converters.StringEnumConverter enumConverter = new Newtonsoft.Json.Converters.StringEnumConverter(); //枚举值转换成字符串名字
  22. JsonSerializerSettings JsonSetting = new JsonSerializerSettings();
  23. JsonSetting.Converters.Add(timeConverter);
  24. JsonSetting.Converters.Add(enumConverter);
  25. JsonConvert.SerializeObject(value,JsonSetting);
  26. return JsonConvert.SerializeObject(value,JsonSetting);
  27. }
  28.  
  29. }

待序列化的类:

  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Web;
  5.  
  6. /// <summary>
  7. ///Json
  8. /// 返回json数据
  9. /// </summary>
  10. public class Json
  11. {
  12. private string msg;
  13.  
  14. public string Msg
  15. {
  16. get { return msg; }
  17. set { msg = value; }
  18. }
  19.  
  20. public Json()
  21. {
  22. //
  23. //TODO: 在此处添加构造函数逻辑
  24. //
  25. }
  26. }


结果:

猜你在找的Ajax相关文章