网站搭建 方式一:
相关业务的html页面,每个页面发送ajax请求到一个aspx页面,由aspx页面来处理对应的逻辑。
这是json格式的,如果数据量少的话,用这个比较好,如果比较大,用来传输的话,dataType用xml
前台
<script type="text/javascript">
$(function ()
{ //获取会议信息
$.ajax({
type: "POST",
url: "MainController.aspx?oper=getmeeting",
dataType: "json",
async: false,
success: function (data)
{
if (data.Result == true)
{
var content = "";
$.each(data.Collection, function (index, val)
{
content += "<p><span>" + val.日期+ "</span><a href='#' οnclick=ViewInfo(2,'" + val.ID + "')>" + val.标题 + "</a></p>";
})
$("#divmeeting").html(content); //填充数据
}
}
})
});
后台
protected void Page_Load(object sender, EventArgs e)
{
//禁用页面缓存,防止数据变更后重新打开页面,内容没有改变。
Response.Cache.SetCacheability(HttpCacheability.NoCache);
Response.Cache.SetNoStore();
string strJSON = string.Empty;//要返回的json数据
try
{
if (Session["user"] == null)
{
strJSON = WebHelper.ToJSON(false, "用户未登陆!");
}
else
{
currentUser = (User_JYXT)Session["user"];//当前用户
if (Request.QueryString["oper"] != null)
{
string strOper = Request["oper"].ToString();
//根据操作不同调用不同方法
switch (strOper)
{
case "getmeeting"://获取会议列表
strJSON = Get会议列表();
break;
case "getuserinfo"://获取用户信息
strJSON = Get用户信息();
break;
default:
strJSON = WebHelper.ToJSON(false, "无效的请求!");
break;
}
}
else
{
strJSON = WebHelper.ToJSON(false, "非法请求!");
}
}
}
catch (Exception ex)
{
strJSON = WebHelper.ToJSON(false, ex.Message);
}
Response.ContentType = "application/json";
Response.Charset = "utf-8";
Response.Write(strJSON);
Response.End();
}
public string Get会议列表()
{
return ToJSON(true, "", mBll.Get会议信息列表());
}
json的各种重载方法
/// <summary>
/// 对数据序列化,返回JSON格式
/// </summary>
/// <param name="obj"></param>
/// <returns></returns>
public static string ToJSON(bool result)
{
JsonObj obj = new JsonObj();
obj.Result = result;
JavaScriptSerializer serializer = new JavaScriptSerializer();
return serializer.Serialize(obj);
}
/// <summary>
/// 对数据序列化,返回JSON格式
/// </summary>
/// <param name="obj"></param>
/// <returns></returns>
public static string ToJSON(bool result, string msg)
{
JsonObj obj = new JsonObj();
obj.Result = result;
obj.Msg = msg;
JavaScriptSerializer serializer = new JavaScriptSerializer();
return serializer.Serialize(obj);
}
/// <summary>
/// 对数据序列化,返回JSON格式
/// </summary>
/// <param name="obj"></param>
/// <returns></returns>
public static string ToJSON(bool result, string msg, DataTable dt)
{
JsonObj obj = new JsonObj();
obj.Result = result;
obj.Msg = msg;
ArrayList arrayList = new ArrayList();
foreach (DataRow dataRow in dt.Rows)
{
Dictionary<string, object> dictionary = new Dictionary<string, object>(); //实例化一个参数集合
foreach (DataColumn dataColumn in dt.Columns)
{
dictionary.Add(dataColumn.ColumnName, dataRow[dataColumn.ColumnName].ToStr());
}
arrayList.Add(dictionary); //ArrayList集合中添加键值
}
obj.Collection = arrayList;
JavaScriptSerializer serializer = new JavaScriptSerializer();
return serializer.Serialize(obj);
}
public static string ToJSON(bool result, string msg, object model)
{
JsonObj obj = new JsonObj();
obj.Result = result;
obj.Msg = msg;
ArrayList arrayList = new ArrayList();
arrayList.Add(model);
obj.Collection = arrayList;
JavaScriptSerializer serializer = new JavaScriptSerializer();
return serializer.Serialize(obj);
}
#region Json 字符串 转换为 DataTable数据集合
/// <summary>
/// Json 字符串 转换为 DataTable数据集合
/// </summary>
/// <param name="json"></param>
/// <returns></returns>
public static DataTable ToDataTable(this string json)
{
DataTable dataTable = new DataTable(); //实例化
DataTable result;
try
{
JavaScriptSerializer javaScriptSerializer = new JavaScriptSerializer();
javaScriptSerializer.MaxJsonLength = Int32.MaxValue; //取得最大数值
ArrayList arrayList = javaScriptSerializer.Deserialize<ArrayList>(json);
if (arrayList.Count > 0)
{
foreach (Dictionary<string, object> dictionary in arrayList)
{
if (dictionary.Keys.Count<string>() == 0)
{
result = dataTable;
return result;
}
if (dataTable.Columns.Count == 0)
{
foreach (string current in dictionary.Keys)
{
dataTable.Columns.Add(current, dictionary[current].GetType());
}
}
DataRow dataRow = dataTable.NewRow();
foreach (string current in dictionary.Keys)
{
dataRow[current] = dictionary[current];
}
dataTable.Rows.Add(dataRow); //循环添加行到DataTable中
}
}
}
catch
{
}
result = dataTable;
return result;
}
#endregion
#region 转换为string字符串类型
/// <summary>
/// 转换为string字符串类型
/// </summary>
/// <param name="s">获取需要转换的值</param>
/// <param name="format">需要格式化的位数</param>
/// <returns>返回一个新的字符串</returns>
private static string ToStr(this object s, string format = "")
{
string result = "";
try
{
if (format == "")
{
result = s.ToString();
}
else
{
result = string.Format("{0:" + format + "}", s);
}
}
catch
{
}
return result;
}
#endregion