asp.net+JSON+Ajax(基于Prototype框架1.4)做无刷新的2级DropDownList代码实例
2008-08-31 17:58
1076 查看
原文来自:http://www.ajaxsamples.cn/html/21096.html
JSON的数据格式:{"xx":"xx1","yy":[{"yy1":"yyy1"},{"yy2":"yyy2"}]}
后台部分:(合成JSON数据格式)
//这是获取根目录
public string getRootTree()
{
using(SqlDataReader dr=SqlHelper.ExecuteReader(conn,System.Data.CommandType.Text,"select * from MMenu where MParentID=0"))
{
sb.Append("{\"region\":[");
while(dr.Read())
{
sb.Append("{\"");
sb.Append("MID");
sb.Append("\":\"");
sb.Append(dr["MID"].ToString());
sb.Append("\",\"");
sb.Append("MName");
sb.Append("\":\"");
sb.Append(dr["MName"].ToString());
sb.Append("\",\"");
sb.Append("MParentID");
sb.Append("\":\"");
sb.Append(dr["MParentID"].ToString());
sb.Append("\"},");
}
sb.Append("]");
return sb.ToString().Substring(0,sb.ToString().Length-2)+"]}";
}
}
//根据ID获取下级的数据
public string getSubTree(int MID)
{
using(SqlDataReader dr=SqlHelper.ExecuteReader(conn,System.Data.CommandType.Text,"select * from MMenu where MParentID="+MID))
{
sb.Append("{\"region\":[");
while(dr.Read())
{
sb.Append("{\"");
sb.Append("MID");
sb.Append("\":\"");
sb.Append(dr["MID"].ToString());
sb.Append("\",\"");
sb.Append("MName");
sb.Append("\":\"");
sb.Append(dr["MName"].ToString());
sb.Append("\",\"");
sb.Append("MParentID");
sb.Append("\":\"");
sb.Append(dr["MParentID"].ToString());
sb.Append("\"},");
}
sb.Append("]");
return sb.ToString().Substring(0,sb.ToString().Length-2)+"]}";
}
}
前台部分:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<html>
<head>
<title>select</title>
<meta name="GENERATOR" Content="Microsoft Visual Studio .NET 7.1">
<meta name="CODE_LANGUAGE" Content="C#">
<meta name=vs_defaultClientScript content="JavaScript">
<meta name=vs_targetSchema content="http://schemas.microsoft.com/intellisense/ie5">
<script src=js/prototype-1.4.0.js></script>
<script>
function getJSON()
{
var myoptions={
parameters:"",
method:"get",
onSuccess:function(res){
var myData=eval("("+res.responseText+")");
myData.region.each(function(xx){
$("root").options.add(new Option(xx.MName,xx.MID));
}
);
}
}
new Ajax框架.Request("jsonSelect.aspx?action=root&s"+Math.random(),myoptions);
}
function getSub(id)
{
var myoptions={
parameters:"subID="+id,
method:"get",
onSuccess:function(res){
var myData=eval("("+res.responseText+")");
$("sub").options.length=1;
myData.region.each(function(xx){
$("sub").options.add(new Option(xx.MName,xx.MID));
}
);
}
}
new Ajax框架.Request("jsonSelect.aspx?action=sub&s"+Math.random(),myoptions);
}
</script>
</head>
<body onload=getJSON()>
<form id="Form1" method="post" runat="server">
<select name="a" id="root" onChange="getSub(this.value)">
<option value="" selected>-----请选择类别-----</option>
</select>
<select name="a" id="sub" onChange="getSub(this.value)">
<option value="" selected>-----请选择类别-----</option>
</select>
</form>
</body>
</html>
网站地图:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76
77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100
JSON的数据格式:{"xx":"xx1","yy":[{"yy1":"yyy1"},{"yy2":"yyy2"}]}
后台部分:(合成JSON数据格式)
//这是获取根目录
public string getRootTree()
{
using(SqlDataReader dr=SqlHelper.ExecuteReader(conn,System.Data.CommandType.Text,"select * from MMenu where MParentID=0"))
{
sb.Append("{\"region\":[");
while(dr.Read())
{
sb.Append("{\"");
sb.Append("MID");
sb.Append("\":\"");
sb.Append(dr["MID"].ToString());
sb.Append("\",\"");
sb.Append("MName");
sb.Append("\":\"");
sb.Append(dr["MName"].ToString());
sb.Append("\",\"");
sb.Append("MParentID");
sb.Append("\":\"");
sb.Append(dr["MParentID"].ToString());
sb.Append("\"},");
}
sb.Append("]");
return sb.ToString().Substring(0,sb.ToString().Length-2)+"]}";
}
}
//根据ID获取下级的数据
public string getSubTree(int MID)
{
using(SqlDataReader dr=SqlHelper.ExecuteReader(conn,System.Data.CommandType.Text,"select * from MMenu where MParentID="+MID))
{
sb.Append("{\"region\":[");
while(dr.Read())
{
sb.Append("{\"");
sb.Append("MID");
sb.Append("\":\"");
sb.Append(dr["MID"].ToString());
sb.Append("\",\"");
sb.Append("MName");
sb.Append("\":\"");
sb.Append(dr["MName"].ToString());
sb.Append("\",\"");
sb.Append("MParentID");
sb.Append("\":\"");
sb.Append(dr["MParentID"].ToString());
sb.Append("\"},");
}
sb.Append("]");
return sb.ToString().Substring(0,sb.ToString().Length-2)+"]}";
}
}
前台部分:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<html>
<head>
<title>select</title>
<meta name="GENERATOR" Content="Microsoft Visual Studio .NET 7.1">
<meta name="CODE_LANGUAGE" Content="C#">
<meta name=vs_defaultClientScript content="JavaScript">
<meta name=vs_targetSchema content="http://schemas.microsoft.com/intellisense/ie5">
<script src=js/prototype-1.4.0.js></script>
<script>
function getJSON()
{
var myoptions={
parameters:"",
method:"get",
onSuccess:function(res){
var myData=eval("("+res.responseText+")");
myData.region.each(function(xx){
$("root").options.add(new Option(xx.MName,xx.MID));
}
);
}
}
new Ajax框架.Request("jsonSelect.aspx?action=root&s"+Math.random(),myoptions);
}
function getSub(id)
{
var myoptions={
parameters:"subID="+id,
method:"get",
onSuccess:function(res){
var myData=eval("("+res.responseText+")");
$("sub").options.length=1;
myData.region.each(function(xx){
$("sub").options.add(new Option(xx.MName,xx.MID));
}
);
}
}
new Ajax框架.Request("jsonSelect.aspx?action=sub&s"+Math.random(),myoptions);
}
</script>
</head>
<body onload=getJSON()>
<form id="Form1" method="post" runat="server">
<select name="a" id="root" onChange="getSub(this.value)">
<option value="" selected>-----请选择类别-----</option>
</select>
<select name="a" id="sub" onChange="getSub(this.value)">
<option value="" selected>-----请选择类别-----</option>
</select>
</form>
</body>
</html>
网站地图:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76
77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100
相关文章推荐
- asp.net+JSON+AJAX(基于prototype1.4)做无刷新的2级DropDownList
- asp.net+JSON+AJAX(基于prototype1.4)做无刷新的2级DropDownList
- asp.net+JSON+AJAX(基于prototype1.4)做无刷新的2级DropDownList
- asp.net中利用Jquery+Ajax+Json实现无刷新分页的实例代码
- asp.net中利用Jquery+Ajax+Json实现无刷新分页的实例代码
- asp.net下使用jquery 的ajax+WebService+json 实现无刷新取后台值的实现代码
- asp.net下使用jquery 的ajax+WebService+json 实现无刷新取后台值的实现代码
- 【转载】使用Json比用string返回数据更友好,也更面向对象一些 |Asp.net MVC 2.0 + Unity 2.0(IoC) + EF4.0 实例:RoRoWoBlog 开源项目框架代码
- 省市三级联动的DropDownList+Ajax的三种框架(aspnet/Jquery/ExtJs)示例
- asp.net DropDownList无刷新ajax二级联动实现详细过程
- asp.net :使用jquery 的ajax +WebService+json 实现无刷新去后台值
- 一个简单的AJAX实现,基于C#的ASP.Net,包括服务器端的程序代码
- ASP.net中的AJAX学习记录六 无刷新的数据编辑(GridView和DetailsView结合实例)
- 基于jQuery的树控件实现代码(asp.net+json)
- ajax.net +jquery 无刷新三级联动的实例代码
- ASP.NET Ajax实例—Javascript直接调用服务器C#代码
- 基于微软ASP.NET AJAX框架开发幻灯片播放网页
- 使用ASP.NET AJAX无刷新验证用户的代码
- 省市三级联动的DropDownList+Ajax的三种框架(aspnet/Jquery/ExtJs)示例
- asp.net mvc基于jQuery+Ajax实现无刷新分页