Ajax异步刷新和.net后台进行交互
前台代码
<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;
}
}
} 相关推荐
坚持着执着 2020-07-16
坚持着执着 2020-06-14
kentrl 2020-11-10
结束数据方法的参数,该如何定义?-- 集合为自定义实体类中的结合属性,有几个实体类,改变下标就行了。<input id="add" type="button" value="新增visitor&quo
ajaxyan 2020-11-09
zndy0 2020-11-03
学留痕 2020-09-20
learningever 2020-09-19
chongxiaocheng 2020-08-16
ajaxhe 2020-08-16
lyqdanang 2020-08-16
curiousL 2020-08-03
时光如瑾雨微凉 2020-07-19
jiaguoquan00 2020-07-07
李永毅 2020-07-05