`

Ajax异步刷新和.net后台进行交互

    博客分类:
  • Ajax
阅读更多
前台代码
<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;
        }
    } 

}

分享到:
评论

相关推荐

    Ajax调用.net后台函数

    通过Ajax,前端可以与后端进行异步交互,使得用户无需重新加载整个页面即可获取新数据或执行特定功能。本文将详细介绍如何利用Ajax技术调用.NET后台函数,并实现无刷新获取数据的功能。 #### 二、环境搭建与配置 ...

    Ajax 操作实例 ASP.NET实例

    在ASP.NET开发中,Ajax(Asynchronous JavaScript and XML)技术被广泛用于创建具有高度交互性和响应性的Web应用程序。Ajax的核心优势在于它允许部分页面更新,而无需重新加载整个页面,从而提高了用户体验。在这个...

    asp.net异步刷新案例

    首先,ASP.NET提供了两种主要的异步刷新技术:UpdatePanel和Ajax。UpdatePanel是一种服务器端控件,它通过隐藏IFrame和ScriptManager组件来模拟客户端的异步更新。用户在UpdatePanel内的交互不会触发整个页面生命...

    完全手册:ASP.net.Ajax电子教程

    它将JavaScript库(MicrosoftAjax.js)与服务器端的ASP.NET扩展结合,使得开发者能够轻松地在客户端实现异步更新,无需页面刷新就能与服务器进行数据交换。 **1. AJAX核心概念** - **异步通信**:AJAX的核心特性是...

    asp.net AJAX无刷新操作GridView

    ASP.NET AJAX(Asynchronous JavaScript and XML)是一种技术,它允许开发者构建富交互式的Web应用程序,无需整个页面刷新即可更新部分页面内容。在本主题中,我们将深入探讨如何使用ASP.NET AJAX来实现GridView控件...

    ajax实现异步刷新

    本教程将通过一个具体的例子来讲解如何在ASP.NET环境中实现Ajax异步刷新。 首先,`Default2.aspx`和`Default.aspx`是ASP.NET中的两个网页文件,它们通常包含HTML、CSS和JavaScript代码,用于构建用户界面。`Default...

    asp.net 的 ajax刷新

    ASP.NET AJAX刷新是一种在...通过学习和掌握ASP.NET AJAX刷新,开发者可以构建更高效、更用户友好的Web应用程序。无论是在大型企业级应用还是小型项目中,这项技术都能发挥重要作用,提高应用程序的交互性和响应速度。

    ajax异步刷新,一般处理程序返回datatable

    在本案例中,我们讨论的主题是如何利用Ajax技术进行异步刷新,并且服务器端的C#一般处理程序(Generic Handler)返回一个DataTable对象。 Ajax的核心在于JavaScript的XMLHttpRequest对象,它提供了与服务器进行异步...

    ajax 资料ajax asp.net 示例

    Ajax(Asynchronous JavaScript and XML)是一种在无需重新加载...结合提供的"ajax资料及实例 源代码ajax asp.net 示例",你将能够深入学习和实践Ajax在ASP.NET环境下的具体应用,从而提高Web应用的性能和用户体验。

    asp.net+Ajax实现Excel文件导出

    而Ajax(Asynchronous JavaScript and XML)是一种创建交互式网页应用的技术,通过在后台与服务器交换数据并局部更新页面,无需刷新整个页面。 在ASP.NET中实现Excel文件导出,通常有以下步骤: 1. **创建ASP.NET ...

    Ajax全新教程 无刷新页面 无刷新数据更新 无刷新绑定 asp.net全新Ajax教程

    它通过在后台与服务器进行少量数据交换,实现了网页的异步更新,提高了用户体验,尤其在数据交互频繁的场景下效果显著。 **无刷新页面** 无刷新页面是Ajax的核心特性之一。在传统的网页交互中,用户触发操作如点击...

    Ajax技术在ASP.NET应用

    1. **掌握Ajax技术在ASP.NET中的应用**:理解如何利用Ajax技术提高ASP.NET网站的交互性和响应速度。 2. **掌握Visual Studio 2008提供的Ajax控件的使用**:熟悉并能熟练使用VS 2008中内置的Ajax控件,如UpdatePanel...

    在vb.net (asp.net)中后台引用ajax函数的方法

    在VB.NET (ASP.NET)环境中,使用AJAX技术可以实现页面的部分刷新,提高用户体验。...遵循这些步骤,你就可以在不离开当前页面的情况下与服务器进行交互,实现异步更新,提升Web应用的响应速度和用户友好性。

    asp.net 利用jquery-ajax调用后台方法

    综上所述,通过jQuery的AJAX功能,我们可以轻松地在客户端与ASP.NET后台之间进行通信,实现动态更新页面,提高应用的响应速度和用户体验。在实际开发中,理解这些基本原理并灵活运用,可以大大提高开发效率。

    AJAX ---.NET

    1. **异步性**:AJAX的核心特性是异步处理,允许在用户与页面交互时,后台默默地进行数据处理和页面更新,而不打断用户的操作流程。 2. **JavaScript和XML**:尽管名称中包含XML,但AJAX并不局限于XML。如今,JSON...

    AJAX.NET实现无刷新页面

    AJAX.NET是微软对AJAX技术的一种实现,它结合了ASP.NET和JavaScript,通过XMLHttpRequest对象在后台与服务器进行异步通信。这种通信方式使得用户可以在不等待整个页面重新加载的情况下获取并更新信息,提高了网页的...

    .net异步调用后台函数

    在.NET框架中,异步调用后台函数是提高应用程序性能和用户体验的重要技术。...通过理解以上知识点,开发者能够更好地在.NET环境中实现前端对后台函数的无刷新异步调用,提升应用的响应速度和用户体验。

    asp.net Ajax控件

    它结合了ASP.NET框架的强大功能和JavaScript库(Microsoft AJAX Library)的灵活性,允许开发者创建具有局部刷新、异步更新和丰富用户界面的网页应用。在描述中提到的,如评分功能、无刷新验证用户名以及ajax级联...

    ASP.NET Ajax 写的一个用户注册实例

    ASP.NET AJAX 是微软提供的一种强大的Web开发技术,它结合了ASP.NET的强大功能和AJAX(Asynchronous JavaScript and XML)的异步交互性,允许开发者创建更高效、响应更快的Web应用程序。在这个用户注册实例中,我们...

Global site tag (gtag.js) - Google Analytics