前台和后台的数据交互

来源:互联网 发布:linux 更改时区 编辑:程序博客网 时间:2024/05/19 20:21

    最近刚刚接手B/S的项目,涉及到了服务器从数据库中查询数据,然后根据数据拼出前台的HTML语句。下面是自己的一段路程。

从最开始自己的一个技术难点,后台拼接完了HTML语句,怎么送到前台呢?下面是关于ASPX页面的数据交互。注意:如果代码看不清,请选中看观看。



    最简单的一种方法: <%=方法名()%>,这个方法名是在后台写的方法。看图

前台aspx页面。


        后台的代码



    第二种:使用jQuery封装好的ajax

    前台js代码:注意一定要引用jQuery库。

<span style="font-size:18px;">                             $.ajax({                url: "MobileFeedBack.aspx/SubmitSuggestion",  //url 前面是aspx的页文件,后面是调用的方法名                type: "post",                data: params,                contentType: "application/json;charset=utf-8",                success: function (data) {                    if (data == '{"d":true}') {                        mui.alert("提交失败,请稍等!", "提示");                    }                    else {                        mui.alert('提交成功,感谢您的支持!', '提示', function () {                            var url = "../mobile/mobileHomePage.aspx";                            window.location.href = url;                        });                    }                }            });</span>

后台代码uing的引用

<span style="font-size:18px;">using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.UI;using System.Web.UI.WebControls;using System.Data;using System.Data.SqlClient;using BLL;using Entity;using System.Web.Services;using System.Web.Script.Serialization;</span>
       <span style="font-size:18px;">[WebMethod]  //使客户端可以调用此方法,基于引用System.Web.Services        public static bool SubmitSuggestion(string suggestion, string userName)        {    //语句体                                                                                                       }</span>


    第三种是基于一般处理程序的HttpContext,来获取客户端的信息,然后调用处理客户端信息的后台方法。最后返回json串。

js的post——>一般处理程序——>后台类的方法——>一般处理程序——>js的post

     在此要注意:FeedBack.ashx是一般处理程序的文件名,要注意路径。


     

    $.post("FeedBack.ashx", { Message: sendMessage, Grade: grade  }, function (data) {           mui.alert('提交成功,感谢您的支持','提示',function(){                window.top.location.href = '../LoginMobile.aspx';            });                    }, 'json');       




后台代码

   //using引用                                                                              using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.UI.WebControls;using System.Text;

        //用来获取客户端http请求的信息 ,该方法由系统自动生成,语句体自己写                          public void   ProcessRequest(HttpContext context)        {            context.Response.ContentType = "text/html;charset=utf-8";            string sendmessage = context.Request.Params["Message"].ToString();            string grade = context.Request.Params["Grade"].ToString();          string json =  reString(sendmessage, grade);  //在此调用了其他的方法。          context.Response.Write(json);//返回处理结果            context.Response.ContentEncoding = System.Text.Encoding.UTF8;            context.Response.End();                   }
  public string  reString(string message,string grade)        {            weChatBackInfo feedback = new weChatBackInfo();  //先声明一个类            StringBuilder sb = new StringBuilder();            if (feedback.Submit(message, grade))           //括号里调用了该类的方法            {                sb.Append("我们已接收到您的反馈意见,感谢您的支持");            }            else            {                sb.Append("感谢您的支持,网络繁忙,请稍后");            }            //json串的格式: {键名:值,键名:值。。。。。。}            string jsonString = "{\"returnMessage\":\"" + sb.ToString() + "\"}";            return jsonString;                    }





0 0
原创粉丝点击