开源项目Html Agility Pack实现快速解析Html
http://www.cnblogs.com/GmrBrian/p/6201237.html
=======================================================
-- 使用html+ashx的session验证
原理:通过上级页面跳转到本页面的url地址加上参数,本页面加载时通过ajax的post请求向服务器验证。
使用JavaScript的获得本页面的参数所需的代码
function GetQueryString(name) {
var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
var r = window.location.search.substr(1).match(reg);
if (r != null) return (r[2]); return null;
}
该方法返回null时,使用 window.location.href = "url"; 强制跳转到其他页面.
=====================================================================
--向某个html元素中追加/删除元素或文本
原理:使用 append方法追加
使用 empty方法删除
$("#id").empty(); //删除
$("#id").append(); //追加
======================================================================
--获得select的所有option
var array = new Array(); //定义数组
$("#select2 option").each(function () { //遍历所有option
var txt = $(this).val(); //获取option值
if (txt != '') {
array.push(txt); //添加到数组中
}
});
var s='';
for (var i = 0; i < array.length; i++) {
s = s + array[i]+"@"; //进行格式化,使用字符串的方式传递给服务器,服务器使用Split方法返回成字符串。
}
===========================================================================
关于Json数据的解析
通过ajax异步提交,append追加以及json接受数据达到动态的开发html
浏览器端:
把数据追加到表格的id为"#tbody"中
$.post("/Home/GetTable", { "id": 1 }, function (data)
{
var shtml= '';
var serverData = $.parseJSON(data);
var serverLength = serverData.length;
for (var i = 0; i < serverLength; i++) {
shtml += ("<tr><td>" + serverData[i].ID + "</td>");
shtml += ("<td>" + serverData[i].Name + "</td>");
shtml += ("<td>" + serverData[i].Mail + "</td>");
shtml += ("<td>" + serverData[i].Inttegral + "</td></tr>");
}
$("#tbody").append(shtml);
});
服务器端:
必须序列化
System.Web.Script.Serialization.JavaScriptSerializer js = new System.Web.Script.Serialization.JavaScriptSerializer();
string s= js.Serialize("你的数据");