欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Ajax异步刷新和.net后台进行交互 博客分类: Ajax ajaxhtmlc#JavaScript 

程序员文章站 2024-03-16 08:22:40
...
前台代码
<html>
<head>
    <title>页面交互</title>
    <script type="text/javascript">
        function loadXMLDoc() {
            var xmlhttp;

            var txtQuery = document.getElementById("txtQuery").value;
           
            //XMLHttpRequest 用于在后台与服务器交换数据
            if (window.XMLHttpRequest) {
                xmlhttp = new XMLHttpRequest();
            }
            else {
                xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
            }
            //判断是否成功的状态
            xmlhttp.onreadystatechange = function() {
                //
                if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
                    var data = xmlhttp.responseText;
                    var Content = "";
                    Content = "<select id='dllUserInfo'>";
                    var arr = new Array;
                    arr = data.split("<br/>");
                    for (var i = 0; i < arr.length; i++) {
                        Content += "<option>" + arr[i] + "<option>";
                    }
                    Content += "<select>"
                    document.getElementById("myDiv").innerHTML = Content;
                }

            }
            //规定请求的类型,url及其是否异步处理
            xmlhttp.open("GET", "/Test.aspx?UserId="+txtQuery+"", true);
            //发送请求
            xmlhttp.send();
        }
    </script>

</head>
<body>
    <h2>
        AJAX</h2>
        用户名:
        <input id="txtQuery" type="text" style=" border-bottom-color:Green" />
        <input  type="button" onclick="loadXMLDoc()" id="btn_Select" value="查询" style="background-color:Red; border:opx; border-color:Blue"/>
    <div id="myDiv">
    </div>
</body>
</html>
后台代码:
using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using Model;
using BLL;
using System.Collections.Generic;

namespace AjaxTest
{
    public partial class Test : System.Web.UI.Page
    {
        BLL.UserInfo us = new BLL.UserInfo();
        Model.UserInfo u = new Model.UserInfo();
        private string strContent = "";
        protected void Page_Load(object sender, EventArgs e)
        {
            //用户ID
            string strUserId = Request.QueryString["USERID"].ToString();
            Response.Write(getUserInfo(strUserId));
        }

        /// <summary>
        /// 获取用户信息
        /// </summary>
        /// <returns></returns>
        public string getUserInfo(string strUserId)
        {
            List<Model.UserInfo> un = us.getUserInfo(strUserId);
            strContent = "";
            foreach(var i in un)
            {
                strContent += i.UserId + "<br/>" + i.UserCode + "<br/>" + i.UserName + "<br/>" + i.Content + "<br/>";
                //strContent += "<tr><td>" + i.UserId + "</td><td>" + i.UserCode + "</td><td>" + i.UserCode + "</td><td>" + i.Content + "</td></tr>";
            }
           
            return strContent;
        }
    }
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using DAL;

namespace BLL
{
     public   class UserInfo
    {
        DAL.getUserinfo gs = new DAL.getUserinfo();

        //获取用户信息
        public List<Model.UserInfo> getUserInfo(string strUserId)
        {
            return gs.getUserInfo( strUserId);
        }
    }
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Collections;
using Model;
using Utility;
using System.Data;

namespace DAL
{
    public class getUserinfo
    {
      
        List<UserInfo> li = new List<UserInfo>();

        /// <summary>
        /// 用户信息
        /// </summary>
        /// <param name="strUserId"></param>
        /// <returns></returns>
        public List<UserInfo> getUserInfo(string strUserId)
        {
            string strSql = string.Format(@"select * from USERINFO WHERE (USERID ='{0}' OR '{0}'='')",strUserId);

            DataTable dt = SQLHelper.ExecuteDt(strSql);
            IList<UserInfo> users = new List<UserInfo>();
            return (List<UserInfo>)ConvertHelper.convertToList<UserInfo>(dt); 
        }

    }
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Model
{
    public class UserInfo
    {
         #region Model
        private long _userid;
        private string _usercode;
        private string _username;
        private string _content;
        //构造函数
        public UserInfo()
        {
        }
       
        /// <summary>
        /// 
        /// </summary>
        public long UserId
        {
            set { _userid = value; }
            get { return _userid; }
        }
        /// <summary>
        /// 
        /// </summary>
        public string UserCode
        {
            set { _usercode = value; }
            get { return _usercode; }
        }
        /// <summary>
        /// 
        /// </summary>
        public string UserName
        {
            set { _username = value; }
            get { return _username; }
        }

        /// <summary>
        /// 
        /// </summary>
        public string Content
        {
            set { _content = value; }
            get { return _content; }
        }
      
        #endregion Model
    }
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using System.Reflection;

namespace Utility
{

    /// <summary> 
    /// 将DataTable转换成泛型集合IList<>助手类 
    /// </summary> 
    public class ConvertHelper
    {
        /// <summary> 
        /// 单表查询结果转换成泛型集合 
        /// </summary> 
        /// <typeparam name="T">泛型集合类型</typeparam> 
        /// <param name="dt">查询结果DataTable</param> 
        /// <returns>以实体类为元素的泛型集合</returns> 
        public static IList<T> convertToList<T>(DataTable dt) where T : new()
        {
            // 定义集合 
            List<T> ts = new List<T>();

            // 获得此模型的类型 
            Type type = typeof(T);
            //定义一个临时变量 
            string tempName = string.Empty;
            //遍历DataTable中所有的数据行  
            foreach (DataRow dr in dt.Rows)
            {
                T t = new T();
                // 获得此模型的公共属性 
                PropertyInfo[] propertys = t.GetType().GetProperties();
                //遍历该对象的所有属性 
                foreach (PropertyInfo pi in propertys)
                {
                    tempName = pi.Name;//将属性名称赋值给临时变量   
                    //检查DataTable是否包含此列(列名==对象的属性名)     
                    if (dt.Columns.Contains(tempName))
                    {
                        // 判断此属性是否有Setter   
                        if (!pi.CanWrite) continue;//该属性不可写,直接跳出   
                        //取值   
                        object value = dr[tempName];
                        //如果非空,则赋给对象的属性   
                        if (value != DBNull.Value)
                            pi.SetValue(t, value, null);
                    }
                }
                //对象添加到泛型集合中 
                ts.Add(t);
            }

            return ts;
        }
    } 

}