jQuery+Asp.Net实现省市二级联动功能的方法
更新时间:2017年05月29日 11:06:27 作者:songkexin
这篇文章主要介绍了jQuery+Asp.Net实现省市二级联动功能的方法,涉及asp.net数据库读取与字符串转换相关操作技巧,需要的朋友可以参考下
本文实例讲述了jQuery+Asp.Net实现省市二级联动功能的方法。分享给大家供大家参考,具体如下:
页面html:
<%@ Page Language=”C#” AutoEventWireup=”true” CodeFile=”ddlAjax.aspx.cs” Inherits=”ThreeAjaxDrop_ddlAjax” %>
<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN” “www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd”>
<html xmlns=”www.w3.org/1999/xhtml”>
<head runat=”server”>
<title>DropDownList三级联动</title>
<style type=”text/css”>
*{margin:0; padding:0;}
body{font-size:12px; font-family:Arial @宋体;}
</style>
<script type=”text/javascript” src=”../js/jquery-1.4.min.js”></script>
<script type=”text/javascript”>
$(document).ready(function() {
//加载完成后绑定省份数据
$.getJSON(“Default.aspx”, function(data) { //data的数据格式[{“text”:”北京”,”value”:”0001″},{“text”:”江西”,”value”:”0031″}]
//alert(data[0].text+”|”+data[0].value);
$.each(data, function(index, value) {
//alert(value.text + “|” + value.value);
$(“#selProvince”).append(“<option value='” + value.value + “‘>” + value.text + “</option>”);
});
});
//省份的值改变,则要绑定出城市下拉框
$(“#selProvince”).change(function(){
document.getElementById(“selArea”).options.length=1; //先清掉县下拉框的的数据
document.getElementById(“selCity”).options.length=1; //先清掉城市下拉框的的数据
$.getJSON(“HandlerDropDownAjax.ashx”,{“type”:”city”,”fid”:$(this).val()},function(data){
$.each(data, function(index, value) {
$(“#selCity”).append(“<option value='” + value.value + “‘>” + value.text + “</option>”);
});
});
});
//城市下拉框的值改变
$(“#selCity”).change(function(){
document.getElementById(“selArea”).options.length=1; //先清掉县下拉框的的数据
$.getJSON(“HandlerDropDownAjax.ashx”,{“type”:”area”,”fid”:$(this).val()},function(data){
$.each(data, function(index, value) {
$(“#selArea”).append(“<option value='” + value.value + “‘>” + value.text + “</option>”);
});
});
});
});
</script>
</head>
<body>
<form id=”form1″ runat=”server”>
<div>
三级联动:<select id=”selProvince”>
<option value=”选择省份”>==选择省份==</option>
</select> <select id=”selCity”><option>==选择城市==</option></select>& amp;nbsp; <select id=”selArea”><option>==选择县==</option></select>
</div>
</form>
</body>
</html>
asp.net部分:
(1)Default.aspx.cs
public partial class ThreeAjaxDrop_Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
string sql = “select * from province”;
string strTemp = “\\”text\\”:\\”{0}\\”,\\”value\\”:\\”{1}\\””; //构造格式字符串 {“text”:”北京”,”value”:”00001″}
StringBuilder sb = new StringBuilder();
OleDbDataReader reader = OleDBHelper.ExecuteReader(sql);
while (reader.Read())
{
string str1 = string.Format(strTemp, reader[“province”].ToString(), reader[“provinceID”].ToString());
sb.Append(“{“+str1+”},”);
}
reader.Close();
string json = sb.ToString();
Response.Write(“[“+json.Substring(0,json.Length-1)+”]”);
}
}
(2)HandlerDropDownAjax.ashx
public class HandlerDropDownAjax : IHttpHandler {
public void ProcessRequest (HttpContext context) {
if (context.Request.QueryString[“type”] != null && context.Request.QueryString[“fid”] != null)
{
string type = context.Request.QueryString[“type”].ToString(); //主要用于识别是查询city还是area表
string fid = context.Request.QueryString[“fid”].ToString(); //城市或区域的父ID
string sql = “select * from ” + type + ” where father='” + fid + “‘”;
//构造数据的类型[{“text”:”南昌”,”value”:”0001″},{“text”:”上饶”,”value”:”0002″}]
//string strTemp = “{\\”text\\”:\\”{0}\\”,\\”value\\”:\\”{1}\\”}”;//这里犯了个错误:直接这样构造会出错,因为大括号里又有格式大括号,解析会出错
string strTemp = “\\”text\\”:\\”{0}\\”,\\”value\\”:\\”{1}\\””; //构造格式字符串 {“text”:”北京”,”value”:”00001″}
StringBuilder sb = new StringBuilder();
OleDbDataReader reader = OleDBHelper.ExecuteReader(sql);
while (reader.Read())
{
string str1 = string.Format(strTemp, reader[2].ToString(), reader[1].ToString());
sb.Append(“{” + str1 + “},”); //两边的大括号格式化后加上
}
reader.Close();
string json = sb.ToString();
context.Response.Write(“[” + json.Substring(0, json.Length – 1) + “]”); //Substring的作用是去掉最后一个’逗号’
}
}
public bool IsReusable {
get {
return false;
}
}
}
更多关于asp.net相关内容感兴趣的读者可查看本站专题:《asp.net优化技巧总结》、《asp.net字符串操作技巧汇总》、《asp.net操作XML技巧总结》、《asp.net文件操作技巧汇总》、《asp.net ajax技巧总结专题》及《asp.net缓存操作技巧总结》。
希望本文所述对大家asp.net程序设计有所帮助。
您可能感兴趣的文章:asp.net省市三级联动的DropDownList+Ajax的三种框架(aspnet/Jquery/ExtJs)示例ASP.NET MVC下拉框联动实例解析asp.net DropDownList实现二级联动效果ASP.NET中DropDownList和ListBox实现两级联动功能asp.net下使用AjaxPro实现二级联动代码asp.net DropDownList 三级联动下拉菜单实现代码asp.net两级联动(包含添加和修改)适用与firefox ASP.NET无刷新二级联动下拉列表ASP.NET实现级联下拉框效果实例讲解ASP.NET Ajax级联DropDownList实现代码
jQuery
Asp.Net
联动
相关文章
asp.net利用Ajax和Jquery在前台向后台传参数并返回值的实例asp.net利用Ajax和Jquery在前台向后台传参数并返回值的实例,需要的朋友可以参考一下 2013-05-05
JSON在ASP.NET中使用方法本篇将简单的介绍一个在.NET中实现JSON的API,然后使用该API做个C/S ASP.NET的小练习,需要的朋友可以参考下 2015-10-10
asp.net中Timer无刷新定时器的实现方法这篇文章主要介绍了asp.net中Timer无刷新定时器的实现方法,是一个非常具有实用价值的技巧,需要用到Ajax技术,需要的朋友可以参考下 2014-08-08
在ASP.Net中实现RSA加密的方法这篇文章介绍了在ASP.Net中实现RSA加密的方法,有需要的朋友可以参考一下 2013-11-11
asp.net 2.0多语言网站解决方法asp.net 2.0中的App_GlobalResources可以用来解决本地化的问题,程序会根据浏览器的语言首选项自动判断显示出本地化的界面。 2008-09-09
ASP.NET Core MVC基础学习之局部视图(Partial Views)这篇文章主要给大家介绍了关于ASP.NET Core MVC基础学习之局部视图(Partial Views)的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用ASP.NET Core MVC具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧 2019-08-08
在asp.net中操作sql server数据库的一些小技巧在asp.net中操作sql server数据库的一些小技巧… 2006-09-09
详解ASP.NET Core 2.0 路由引擎之网址生成(译)这篇文章主要介绍了详解ASP.NET Core 2.0 路由引擎之网址生成(译),小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧 2017-11-11
Visual Studio(VS2017)配置C/C++ PostgreSQL9.6.3开发环境这篇文章主要为大家详细介绍了Visual Studio(VS2017)配置C/C++,PostgreSQL9.6.3开发环境,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 2017-07-07
iframe跨域与session失效问题的解决办法这篇文章主要介绍了iframe跨域与session失效问题的解决办法,有需要的朋友可以参考一下 2014-01-01
最新评论

评论(0)