小山
付出最大努力,追求最高成就,享受最佳生活,收获无悔人生
博客园
首页
新随笔
联系
订阅
管理
200 Posts :: 1 Stories :: 1253 Comments :: 76 Trackbacks
公告
我的主页
个人资料
我的闪存
发短消息
搜索
常用链接
我的随笔
我的空间
我的短信
我的评论
更多链接
我的文章
我的参与
我的新闻
最新评论
我的标签
我参与的团队
Ajax&Atlas技术团队(0/0)
成都.NET俱乐部(0/0)
随笔分类
(218)
ADO.NET(1)
Ajax&Altas(8)
API(2)
ASP.NET(14)
ASP.NET2.0(3)
Blog(1)
C#(9)
DataGrid(19)
DropDownList(9)
English Study(1)
HTC(1)
Html/css(2)
Infragistics(1)
JavaScript(14)
Menu(2)
Oracle(1)
SEO|搜索引擎优化 (4)
Sql Server(7)
TreeView(2)
UML(12)
VS.NET(3)
VSS(2)
Web Services(3)
Winform
XmlHttp(4)
案例分析(1)
创业(6)
第三方控件(3)
非技术区(1)
经典算法(3)
精彩网址(13)
汽车保险(2)
软件工程(2)
设计与模式(23)
水晶报表
网站推广(6)
我的生活(4)
系统分析/设计(3)
项目管理(17)
休闲娱乐(1)
学习资料(7)
正则表达式(1)
随笔档案
(200)
2009年5月 (1)
2009年4月 (1)
2009年2月 (1)
2008年11月 (1)
2008年10月 (1)
2008年9月 (1)
2008年8月 (1)
2008年7月 (3)
2008年5月 (1)
2007年11月 (2)
2007年10月 (1)
2007年8月 (1)
2007年3月 (1)
2006年9月 (2)
2006年8月 (1)
2006年7月 (2)
2006年6月 (1)
2006年5月 (5)
2006年4月 (4)
2006年3月 (5)
2006年2月 (3)
2006年1月 (10)
2005年12月 (23)
2005年11月 (29)
2005年10月 (99)
友情链接
43997k7k在线小游戏
折扣网
最新随笔
1. IT项目管理学习笔记纲要
2. 如何组织高效的项目会议
3. 项目管理的20条锦囊妙计
4. SEO|搜索引擎优化(如何让你的网站排名靠前)
5. Ajax实现无刷新三联动下拉框
积分与排名
积分 - 619000
排名 - 54
最新评论
1. Re:ASP.NET2.0 TreeView
不错
--长河落日
2. Re:对web.config进行新增修改删除读取操作
modifyElement方法和removeElement方法一模一样啊 是不是写错了?
--jes
3. Re:网站掉进沙盒,折扣网给你分析前后原因
现在貌似无所谓了,只要坚持更新,做好sitemap。
--超SEO
4. Re:Alexa世界排名原理,为网站赢得好排名
有人利用Alexa作弊!但是是一个很重要的参考工具!
--超SEO
5. Re:SEO|搜索引擎优化(如何让你的网站排名靠前)
老外很经典一篇文章!
--超SEO
6. Re:职责链模式(Chain of Responsibility Pattern)
@cocoapple 你爱看就看。最讨厌并痛恨你这种人。 1 退10000步来说:你抄个看看。是不是显着你有本事 2 你现在所有知识,就算你会爬会跳会叫妈会哭会笑会打滚也是抄的(可能你会做湿不是抄的)...
--梅桦
7. Re:Ajax实现无刷新三联动下拉框
想成为有钱人,首先要有赚钱的愿望,才更容易实现。在财富的累积过程中,不要嫌钱少,先从小数目开始,总有一天能赚得更多。 除了财富的七大秘诀外,巴比伦人的五大黄金定律也是永恒的真理,都是用非常简单的...
--wenli
8. Re:Ajax实现无刷新三联动下拉框
vs2003如何用ajax
--pl_1069
9. Re:Sales案例分析
[quote]张磊.NET:“在一个系统没有成型前,客户是不会花太多精力去看”,“必须要时刻准备沟通,因为客户的想法在变”——tototo说的很对[/quote] 严重同意。。。。
--Nina
10. Re:DataGrid/DataSet导出到excle和csv文件
法文乱码
--KiNg.JiOnG
阅读排行榜
1. Ajax实现无刷新三联动下拉框(59323)
2. 功能齐全的DataGrid(29496)
3. XmlHttp实现无刷新三联动下拉框(20256)
4. 下载网址集锦(16740)
5. 多级下拉菜单(动态)(14435)
6. 阴历阳历转换(13878)
7. 通用分页控件(DataGrid,DataList,Repeater都可以用它来分页)(12962)
8. Ajax使用初步(12660)
9. ASP.NET2.0 TreeView(10645)
10. Ajax.NET的几个示例代码(10435)
评论排行榜
1. Ajax实现无刷新三联动下拉框(216)
2. 功能齐全的DataGrid(70)
3. XmlHttp实现无刷新三联动下拉框(61)
4. 多级下拉菜单(动态)(44)
5. DataHelper(38)
6. ASP.NET2.0 TreeView(37)
7. Ajax使用初步(34)
8. Alexa世界排名原理,为网站赢得好排名(32)
9. Ajax.NET的几个示例代码(30)
10. 下拉日期控件(30)
Ajax实现无刷新三联动下拉框
1.html代码
<
HTML
>
<
HEAD
>
<
title
>
Ajax实现无刷新三联动下拉框
</
title
>
<
meta
content
="Microsoft Visual Studio .NET 7.1"
name
="GENERATOR"
>
<
meta
content
="C#"
name
="CODE_LANGUAGE"
>
<
meta
content
="JavaScript"
name
="vs_defaultClientScript"
>
<
meta
content
="http://schemas.microsoft.com/intellisense/ie5"
name
="vs_targetSchema"
>
<
SCRIPT
language
="javascript"
>
//
城市------------------------------
function
cityResult()
{
var
city
=
document.getElementById(
"
DropDownList1
"
);
AjaxMethod.GetCityList(city.value,get_city_Result_CallBack);
}
function
get_city_Result_CallBack(response)
{
if
(response.value
!=
null
)
{
//
debugger;
document.all(
"
DropDownList2
"
).length
=
0
;
var
ds
=
response.value;
if
(ds
!=
null
&&
typeof
(ds)
==
"
object
"
&&
ds.Tables
!=
null
)
{
for
(
var
i
=
0
; i
<
ds.Tables[
0
].Rows.length; i
++
)
{
var
name
=
ds.Tables[
0
].Rows[i].city;
var
id
=
ds.Tables[
0
].Rows[i].cityID;
document.all(
"
DropDownList2
"
).options.add(
new
Option(name,id));
}
}
}
return
}
//
市区----------------------------------------
function
areaResult()
{
var
area
=
document.getElementById(
"
DropDownList2
"
);
AjaxMethod.GetAreaList(area.value,get_area_Result_CallBack);
}
function
get_area_Result_CallBack(response)
{
if
(response.value
!=
null
)
{
document.all(
"
DropDownList3
"
).length
=
0
;
var
ds
=
response.value;
if
(ds
!=
null
&&
typeof
(ds)
==
"
object
"
&&
ds.Tables
!=
null
)
{
for
(
var
i
=
0
; i
<
ds.Tables[
0
].Rows.length; i
++
)
{
var
name
=
ds.Tables[
0
].Rows[i].area;
var
id
=
ds.Tables[
0
].Rows[i].areaID;
document.all(
"
DropDownList3
"
).options.add(
new
Option(name,id));
}
}
}
return
}
function
getData()
{
var
province
=
document.getElementById(
"
DropDownList1
"
);
var
pindex
=
province.selectedIndex;
var
pValue
=
province.options[pindex].value;
var
pText
=
province.options[pindex].text;
var
city
=
document.getElementById(
"
DropDownList2
"
);
var
cindex
=
city.selectedIndex;
var
cValue
=
city.options[cindex].value;
var
cText
=
city.options[cindex].text;
var
area
=
document.getElementById(
"
DropDownList3
"
);
var
aindex
=
area.selectedIndex;
var
aValue
=
area.options[aindex].value;
var
aText
=
area.options[aindex].text;
var
txt
=
document.getElementById(
"
TextBox1
"
);
document.getElementById(
"
<%=TextBox1.ClientID%>
"
).innerText
=
"
省:
"
+
pValue
+
"
|
"
+
pText
+
"
市:
"
+
cValue
+
"
|
"
+
cText
+
"
区:
"
+
aValue
+
"
|
"
+
aText;
}
</
SCRIPT
>
</
HEAD
>
<
body
ms_positioning
="GridLayout"
>
<
form
id
="Form1"
method
="post"
runat
="server"
>
<
TABLE
id
="Table1"
style
="Z-INDEX: 101; LEFT: 96px; POSITION: absolute; TOP: 32px"
cellSpacing
="1"
cellPadding
="1"
width
="300"
border
="1"
bgColor
="#ccff66"
>
<
TR
>
<
TD
>
省市
</
TD
>
<
TD
><
asp:dropdownlist
id
="DropDownList1"
runat
="server"
></
asp:dropdownlist
></
TD
>
</
TR
>
<
TR
>
<
TD
>
城市
</
TD
>
<
TD
><
asp:dropdownlist
id
="DropDownList2"
runat
="server"
></
asp:dropdownlist
></
TD
>
</
TR
>
<
TR
>
<
TD
>
市区
</
TD
>
<
TD
><
asp:dropdownlist
id
="DropDownList3"
runat
="server"
></
asp:dropdownlist
></
TD
>
</
TR
>
</
TABLE
>
<
asp:TextBox
id
="TextBox1"
style
="Z-INDEX: 102; LEFT: 416px; POSITION: absolute; TOP: 48px"
runat
="server"
Width
="424px"
></
asp:TextBox
><
INPUT
style
="Z-INDEX: 103; LEFT: 456px; WIDTH: 56px; POSITION: absolute; TOP: 96px; HEIGHT: 24px"
type
="button"
value
="test"
onclick
="getData();"
>
</
form
>
</
body
>
</
HTML
>
2.cs代码
using
System;
using
System.Collections;
using
System.ComponentModel;
using
System.Data;
using
System.Drawing;
using
System.Web;
using
System.Web.SessionState;
using
System.Web.UI;
using
System.Web.UI.WebControls;
using
System.Web.UI.HtmlControls;
namespace
AjaxTest
{
/**/
///
<summary>
///
Summary description for WebForm1.
///
</summary>
public
class
WebForm1 : System.Web.UI.Page
{
protected
System.Web.UI.WebControls.DropDownList DropDownList1;
protected
System.Web.UI.WebControls.DropDownList DropDownList2;
protected
System.Web.UI.WebControls.TextBox TextBox1;
protected
System.Web.UI.WebControls.DropDownList DropDownList3;
private
void
Page_Load(
object
sender, System.EventArgs e)
{
Ajax.Utility.RegisterTypeForAjax(
typeof
(AjaxMethod));
if
(
!
Page.IsPostBack)
{
this
.DropDownList1.DataSource
=
AjaxMethod.GetProvinceList();
this
.DropDownList1.DataTextField
=
"
province
"
;
this
.DropDownList1.DataValueField
=
"
provinceID
"
;
this
.DropDownList1.DataBind();
this
.DropDownList1.Attributes.Add(
"
onclick
"
,
"
cityResult();
"
);
this
.DropDownList2.Attributes.Add(
"
onclick
"
,
"
areaResult();
"
);
}
}
Web Form Designer generated code
#region
Web Form Designer generated code
override
protected
void
OnInit(EventArgs e)
{
//
//
CODEGEN: This call is required by the ASP.NET Web Form Designer.
//
InitializeComponent();
base
.OnInit(e);
}
/**/
///
<summary>
///
Required method for Designer support - do not modify
///
the contents of this method with the code editor.
///
</summary>
private
void
InitializeComponent()
{
this
.Load
+=
new
System.EventHandler(
this
.Page_Load);
}
#endregion
}
}
3.AjaxMethod
using
System;
using
System.Data;
using
System.Data.SqlClient;
namespace
AjaxTest
{
/**/
///
<summary>
///
Summary description for AjaxMethod.
///
</summary>
public
class
AjaxMethod
{
GetProvinceList
#region
GetProvinceList
public
static
DataSet GetProvinceList()
{
string
sql
=
"
select * from province
"
;
return
GetDataSet(sql);
}
#endregion
GetCityList
#region
GetCityList
[Ajax.AjaxMethod(Ajax.HttpSessionStateRequirement.Read)]
public
DataSet GetCityList(
int
provinceid)
{
string
sql
=
"
select * from city where father=
"
+
provinceid;
return
GetDataSet(sql);
}
#endregion
GetAreaList
#region
GetAreaList
[Ajax.AjaxMethod(Ajax.HttpSessionStateRequirement.Read)]
public
DataSet GetAreaList(
int
cityid)
{
string
sql
=
"
select * from area where father=
"
+
cityid;
return
GetDataSet(sql);
}
#endregion
GetDataSet
#region
GetDataSet
public
static
DataSet GetDataSet(
string
sql)
{
string
ConnectionString
=
System.Configuration.ConfigurationSettings.AppSettings[
"
ConnectionString
"
];
SqlDataAdapter sda
=
new
SqlDataAdapter(sql,ConnectionString);
DataSet ds
=
new
DataSet();
sda.Fill(ds);
return
ds;
}
#endregion
}
}
4.web.config
<
httpHandlers
>
<
add
verb
="POST,GET"
path
="ajax/*.ashx"
type
="Ajax.PageHandlerFactory, Ajax"
/>
</
httpHandlers
>
5.ajax.dll下载
/Files/singlepine/Ajax.rar
6.真实数据库下载
area1.rar
7.源代码下载
AjaxTest.rar
1
0
0
(请您对文章做出评价)
»
下一篇:
SEO|搜索引擎优化(如何让你的网站排名靠前)
posted on 2005-10-19 16:21
小山
阅读(59323)
评论(216)
编辑
收藏
网摘
所属分类:
DropDownList
,
Ajax&Altas
Feedback
1726523
评论共3页:
上一页
1
2
3
#117楼
2006-09-19 11:37
Anson[未注册用户]
支持mign,目前我也遇到这个问题.
回复
引用
#118楼
2006-09-19 11:41
Anson[未注册用户]
支持mign,目前我也遇到这个问题.
回复
引用
#119楼
2006-09-20 08:40
笑疯^_^
小山,你好,我在一个多层架构的系统中用到了你这个ajax三联动, 不过我用的是ajaxpro,可我在用的时候老是出现"AjaxMethod"未定义,我在业务逻辑层定义了 /// <summary>
///根据国家代码取得城市
/// </summary>
/// <param name="CC_ID">国家代码</param>
/// <returns>返回DataSet</returns>
[AjaxPro.AjaxMethod]
public DataSet GetStateList(int CC_ID)
{
return dal.GetStateList(CC_ID);
}
/// <summary>
///根据省区编号来查询城市
/// </summary>
/// <param name="CST_ID">省区ID</param>
/// <returns>DataSet</returns>
[AjaxPro.AjaxMethod]
public DataSet GetCityList(int CST_ID)
{
return dal.GetCityList(CST_ID);
}
我在页面后台代码中是这样写的
protected void Page_Load(object sender, EventArgs e)
{
AjaxPro.Utility.RegisterTypeForAjax(typeof(jeb.BusinessRule.AjaxMethod));
if (!IsPostBack)
{
InitData();
}
}
js中这个调用的 AjaxMethod.GetStateList(country.value,get_State_Result_CallBack);
然后老是提示错误:"AjaxMethod"未定义,在业务逻辑层我已经添加引用的,整个项目也添加引用了,webconfig中我也加了这个
<httpHandlers>
<add verb="POST,GET" path="ajaxpro/*.ashx" type="AjaxPro.AjaxHandlerFactory, AjaxPro.2"/>
</httpHandlers>
可就是不行,我急切等待你们的答复,我的邮箱是:
longping520@126.com
QQ是95401537希望能加我
回复
引用
查看
#120楼
2006-09-22 10:23
凯[未注册用户]
请问这个程序可否在用户控件里面实现~?要如何配置~???急~~~~!
回复
引用
#121楼
2006-09-22 11:45
凯[未注册用户]
终于解决在用户控件里怎么使用这个东东了~!还在疑惑的找我,QQ
:329516647
回复
引用
#122楼
[
楼主
]
2006-09-23 12:42
小山
在用户控件中用也是一样的,只是加一个用户控件的前缀就可以了,假如你的用户控件叫UCuser,则把原来的
var city=document.getElementById("DropDownList1");
改成
var city=document.getElementById("UCuser1_DropDownList1");
即可
回复
引用
查看
#123楼
2006-09-27 09:41
Anson[未注册用户]
小山,麻烦帮忙看下这个问题:
用户从数据库中取得相关的地区/城市记录后,怎么样把数据库中的记录用目前的下拉列表显示出来?
就是修改时怎么样匹配到旧的?
怎么把默认的值显示出来呢? 比较急,。谢谢。
回复
引用
#124楼
2006-09-29 10:05
庆庆[未注册用户]
小山大哥,我在page_load里已经添加了
Ajax.Utility.RegisterTypeForAjax(typeof(AjaxMethod));
可是还是出现错误:'AjaxMethod' 未定义”
请指点指点。
回复
引用
#125楼
2006-10-01 09:00
kuuy[未注册用户]
这个博客有源码吗?
回复
引用
#126楼
2006-10-03 01:20
过客[匿名][未注册用户]
异常详细信息: System.ArgumentException: 回发或回调参数无效。在配置中使用 <pages enableEventValidation="true"/> 或在页面中使用 <%@ Page EnableEventValidation="true" %> 启用了事件验证。出于安全目的,此功能验证回发或回调事件的参数是否来源于最初呈现这些事件的服务器控件。如果数据有效并且是预期的,则使用 ClientScriptManager.RegisterForEventValidation 方法来注册回发或回调数据以进行验证。
回复
引用
#127楼
2006-10-09 12:35
nessie[未注册用户]
我在VS.2005和AjaxPro.2都实现了,效果不错,但是有个问题,在GridView的编辑状态下使用时,联动可以实现,但点击保存时就会报错"回发或回调参数无效。在配置中使用 <pages enableEventValidation="true"/> "如果改成<%@ Page Language="C#" EnableEventValidation="false" %>就不报错了,但用ajax生成的下拉列表的值都取不到了,这个有什么办法好解决吗?
回复
引用
#128楼
2006-10-10 15:09
whu[未注册用户]
有没有vb.net版本的?
回复
引用
#129楼
2006-10-22 11:02
黑白之间[未注册用户]
为什么发布到服务器上 出现
行:17
字符:5
错误:'AjaxMethod'未定义
代码:0
本机运行无错
回复
引用
#130楼
2006-10-25 22:21
未定义[未注册用户]
'AjaxMethod'未定义
回复
引用
#131楼
2006-10-25 23:24
yao[未注册用户]
string sql="select * from city where father="+provinceid;
string sql="select * from area where father="+cityid;
我不明白你代码中这两行怎么运行过去的.
father字段可是字符串型啊.
string sql="select * from city where father='"+provinceid+"'";
string sql="select * from area where father='"+cityid+"'";
回复
引用
#132楼
2006-10-26 09:23
黑白之间 [未注册用户]
未定义 我知道了.
我是问: 本机运行无错
发布到服务器上出现出现未定义 是为什么.
回复
引用
#133楼
2006-11-02 14:48
venric[未注册用户]
@小山
@黑白之间
我也是发布到服务上也不行啊....找出问题根源出来才行!
回复
引用
#134楼
2006-11-03 15:45
hao1geren[未注册用户]
@whu
http://community.csdn.net/Expert/topic/5126/5126740.xml?temp=.3156244
仿小山大哥的,数据库就是用了area.mdb,不过字段修改了
area - areaname
city - cityname
province -provincename
新添加了一字段
provincename 以便于支持动态输入查询
向小山大哥表示感谢
回复
引用
#135楼
2006-11-13 17:19
dfgfd[未注册用户]
为什么改变第一项的值,第三项还是没有变呢,非要去改第二项才能改变第三项吗。
回复
引用
#136楼
2006-11-14 11:40
Nina
小山大哥,我在page_load里已经添加了
Ajax.Utility.RegisterTypeForAjax(typeof(AjaxMethod));
可是还是出现错误:'AjaxMethod' 未定义”
请指点指点。
4.web.config
<httpHandlers>
<add verb="POST,GET" path="ajax/*.ashx" type="Ajax.PageHandlerFactory, Ajax" />
</httpHandlers>
這個也設置了。
注:我用的是:vs 2005 vb.net
回复
引用
查看
#137楼
2006-11-14 11:46
Nina
@nessie
你都實現了,可以共享出來看看嗎?
回复
引用
查看
#138楼
2006-11-15 11:21
mark[匿名][未注册用户]
对于LZ的东东,东西是不错的。
但是在实际应用中,个人认为还存在适用范围过窄的情况,我的意思是对于多级的联动下拉框,本身可以抽象成一个通用的应用模型,这样在实际应用时只要进行响应的配置修改就可以适用于其它的应用场合,这样才具有真正的实用价值,否则每一个应用场景下都要具体的进行代码实现,非常麻烦。
在我的一个项目中已经大致实现了一个n级联动下拉框方案,只要后台的数据模型定义好,则系统自动生成对应的n级下拉框,并实现联动操作,没有使用所谓的一些Ajax类库(框架),但是利用了Ajax的实现手段(XmlHttpRequest+Script)实现了无刷新联动。
这里面最麻烦的是数据模型的设计,即n级联动数据的处理。呵呵。
如果有兴趣探讨的,可以Email: yaorb@msn.com
回复
引用
#139楼
2006-11-15 11:24
mark[匿名][未注册用户]
另外补充一点,对于LZ使用的数据传递方式,即"省:XXXX|广州省市:|......"这样的数据传输方式,个人觉得不是很通用,既然已经使用了Ajax技术,何不尝试使用JSON方式传递数据,这样对于数据的处理更加灵活和通用。
回复
引用
#140楼
2006-11-15 15:57
ABC[匿名][未注册用户]
救急啊,救急啊!
我把我现在的都改成这样做了,不过发现DropDownList2.Text和DropDownList2.Value属性都没有了啊。怎样在程序里面可以得到这两个值啊。
回复
引用
#141楼
2006-11-20 18:17
jktang[未注册用户]
select语句错了.
Dim sql As String = "select * from city where father='" & provinceid & "'"
Dim sql As String = "select * from area where father='" & cityid & "'"
回复
引用
#142楼
2006-11-22 19:34
taxue[未注册用户]
为什么使用access数据库就不可以呢?
回复
引用
#143楼
2006-11-23 14:47
hao1geren[未注册用户]
access也是一样的
回复
引用
#144楼
2006-11-27 10:10
kj[未注册用户]
为什么发布到服务器上 出现
行:17
字符:5
错误:'AjaxMethod'未定义
代码:0
本机运行无错
回复
引用
#145楼
2006-12-07 16:39
wuhanyong[未注册用户]
我下载 后只能显示省市,选择省市后没有动作,点击按钮系统还抱错。如何解决
我是在2005中测试的。
回复
引用
#146楼
2006-12-08 12:57
土豆[匿名][未注册用户]
有人会Gridview的编辑模板里实现二级联动吧!
如果有,请指导一下一步
MSN:fangwenying@hotmail.com
手机:13758353111
回复
引用
#147楼
2006-12-11 16:17
快乐[未注册用户]
问一个ajax的问题:dropdownlist的值填充是在html里用javascript填充的。但是在.cs代码里保存时获得不了所选的值。这是为什么??急
回复
引用
#148楼
2006-12-19 12:59
何求[未注册用户]
小山写的很ok.
不过你的数据库的父类id是文本型的, 你的sql这样写是会出错的.还有应该在获取城市之后接着做获取地区操作,
回复
引用
#149楼
2006-12-20 21:44
jiven[匿名]
选择省份函数加上选择城市函数比较好点,随时保持3下拉数据的正确性,
onclick事件改为onchange更佳
function get_city_Result_CallBack(response)
{
if (response.value != null)
{
//debugger;
document.all("DropDownList2").length=0;
var ds = response.value;
if(ds != null && typeof(ds) == "object" && ds.Tables != null)
{
for(var i=0; i<ds.Tables[0].Rows.length; i++)
{
var name=ds.Tables[0].Rows[i].city;
var id=ds.Tables[0].Rows[i].cityID;
document.all("DropDownList2").options.add(new Option(name,id));
}
var area=document.getElementById("DropDownList2");
AjaxMethod.GetAreaList(area.value,get_area_Result_CallBack);
}
}
return
}
this.DropDownList1.Attributes.Add("onchange","cityResult();");
this.DropDownList2.Attributes.Add("onchange", "areaResult();");
this.DropDownList3.Attributes.Add("onchange", "getData();");
回复
引用
#150楼
2006-12-20 22:00
jiven[匿名]
当然省份下拉初始化不要选择任何省份
this.DropDownList1.Items.Insert(0, new ListItem("请选择", "0"));
回复
引用
#151楼
2006-12-20 22:16
jiven[匿名]
再于get_area_Result_CallBack(response)函数中最后加入getData()函数调用,可即使记录3连动下拉的值情况,将文本框display设置成none,从而解决后台无法获得下拉值的问题。
function get_area_Result_CallBack(response)
{
if (response.value != null)
{
document.all("DropDownList3").length=0;
var ds = response.value;
if(ds != null && typeof(ds) == "object" && ds.Tables != null)
{
for(var i=0; i<ds.Tables[0].Rows.length; i++)
{
var name=ds.Tables[0].Rows[i].area;
var id=ds.Tables[0].Rows[i].areaID;
document.all("DropDownList3").options.add(new Option(name,id));
}
}
getData();
}
return
}
<asp:TextBox id="TextBox1" style="Z-INDEX: 102; LEFT: 416px; POSITION: absolute; TOP: 48px;display:none" runat="server"
Width="424px"></asp:TextBox>
回复
引用
#152楼
2006-12-21 16:13
QQ[匿名][未注册用户]
请问小山,我的这个地方
ds.Tables[0].Rows[i].area老是提示"undefined"
这个是为什么呢?换成这样子
ds.Tables[0].Rows[i].["area"]也不行
回复
引用
#153楼
2006-12-21 17:35
fdsgd[未注册用户]
sdfgdfgdfg
回复
引用
#154楼
2007-01-04 11:09
kevin[匿名][未注册用户]
斑竹高人,我用了你的例子做了一个测试,是用的oracle的数据库,但是老是出错,最开始初始化时省份能够正确的显示出来,但是一改变省份就出错就像上面所说的--老是提示"undefined",怎样在js中操作后台传来的dataset呢?请指点迷津啊!
回复
引用
#155楼
2007-01-11 17:40
tiantian[匿名][未注册用户]
@jiangnan
你程序下载后,province少了个r,请问一下:我仅把AjaxMethod.cs移到另外一个文件夹下,咋就不行,百思不得其解.
Ajax.Utility.RegisterTypeForAjax(typeof(Travel.BusinessSystems.AjaxMethod));
//是将AjaxMethod.cs放到一个文件夹下重新给他命名空间:Travel.BusinessSystems
<httpHandlers>
<add verb="POST,GET" path="ajax/*.ashx" type="Ajax.PageHandlerFactory, Ajax" />
</httpHandlers>
这样以后,哪些地方要改,对AJAX是初学,请小山老师帮忙.急呀!!!小山老师每篇都很经典,也希望多写一些!
回复
引用
#156楼
2007-01-22 21:40
我爱乐乐[未注册用户]
太感谢楼主了
谢谢你啊
我找这个找得好辛苦哦
回复
引用
#157楼
2007-02-21 14:58
你好[未注册用户]
@fei
我的好像不能添加Button 添加后提交就提示回发或回调这个是怎么回事啊.
回复
引用
#158楼
2007-03-11 22:45
喜欢耗子的猫[未注册用户]
非常不错,除了第一句的sql把province写成了povince.简单易懂的好例子!!!!
回复
引用
#159楼
2007-03-12 22:39
流云萧[未注册用户]
小山你好,,我想请教 一个问题,,我是刚学AJAX
我想实现用户打一个页面时就从数据库Online表写一条记录
,然后用户关闭页面时就从Online表中删除这条记录。
这个用AJAX能实现吗?能给出具体思路吗?
我现在连AJAX调都调不成功。
我用的是ASP.NET aJAX的。。现在想换AJAX了。
回复
引用
#160楼
2007-03-14 18:24
汉文[未注册用户]
请问:为什么得到的区总是每个市的第一个市的所属区啊,我选择别的市,该市下的区数据都不变呢
回复
引用
#161楼
2007-03-15 20:06
喜欢耗子的猫[未注册用户]
没有啊,会变的啊.我想问下getElementById("<%=TextBox1.ClientID%>")和document.getElementById("TextBox1")有区别吗?
回复
引用
#162楼
2007-04-08 12:57
Max[未注册用户]
楼主,我用了你的代码 ,我是在ASP.NET 控件里用的, 可以正常显示, 但我的问题是 怎样才能获得 选择后省 市的中文值啊, 我试了好多都不行.
麻烦您能不能给个代码 示范, 感激不尽啊, 谢谢, 急疯了....
回复
引用
#163楼
2007-04-14 02:57
baba[未注册用户]
我改成access不能用
回复
引用
#164楼
2007-04-14 03:16
baba[未注册用户]
谁能给个access的例子,谢谢
回复
引用
#165楼
2007-04-14 12:57
海鸟[未注册用户]
你好,我想获取城市的ID,然后添加到数据库里面去,我该怎么做,试了好多方法就只能获到省的ID,可获取不到市的ID!
回复
引用
#166楼
2007-04-26 11:01
鹏程[未注册用户]
小山为什么你这个例子放到2005中不好用呢?
总是提示这两个错误
错误1 找不到类型或命名空间名称“AjaxMethod”(是否缺少 using 指令或程序集引用?)
错误2 当前上下文中不存在名称“AjaxMethod”
回复
引用
#167楼
2007-04-26 12:13
鹏程[未注册用户]
我放在2005中只有省显示而市区不显示呢?
回复
引用
#168楼
2007-04-30 11:16
中看不中用[未注册用户]
中看不中用
在cs中读不到数据,有啥用了
回复
引用
#169楼
2007-04-30 11:17
中看不中用[未注册用户]
中看不中用
中看不中用
中看不中用
中看不中用
回复
引用
#170楼
2007-04-30 11:18
中看不中用[未注册用户]
中看不中用
中看不中用中看不中用中看不中用中看不中用中看不中用中看不中用中看不中用中看不中用中看不中用中看不中用中看不中用中看不中用中看不中用中看不中用中看不中用中看不中用中看不中用中看不中用中看不中用中看不中用中看不中用中看不中用中看不中用中看不中用中看不中用中看不中用中看不中用中看不中用中看不中用中看不中用中看不中用中看不中用中看不中用中看不中用中看不中用中看不中用中看不中用中看不中用中看不中用中看不中用中看不中用中看不中用中看不中用
回复
引用
#171楼
2007-05-21 11:47
wll[未注册用户]
我用ACCESS数据库做了一个反回DATASET的例子,但是总是报错,请问小山?
回复
引用
#172楼
2007-05-22 10:26
马可香蕉
不错,学习了
回复
引用
查看
#173楼
2007-05-29 17:01
yundao[未注册用户]
sdfsd
回复
引用
#174楼
2007-06-14 15:06
aaaa[未注册用户]
编译器错误信息: CS0246: 找不到类型或命名空间名称“Ajax”(是否缺少 using 指令或程序集引用?)
源错误:
行 24: }
行 25:
行 26: [Ajax.AjaxMethod(Ajax.HttpSessionStateRequirement.Read)]
行 27: public DataSet GetCityList(int provinceid)
行 28: {
回复
引用
#175楼
2007-06-19 14:43
vicky[未注册用户]
我也是只要第一个dropdownlist有显示,第二第三都不反应!
回复
引用
#176楼
2007-06-19 14:57
vicky[未注册用户]
@瞬 我的问题也是这个,但是找你做的更改后还是只有省。没有市、区
回复
引用
#177楼
2007-06-21 01:35
ljh[未注册用户]
有没有2005做的例子..认真想学..教教我吧..谢谢.
回复
引用
#178楼
2007-07-16 19:32
s[未注册用户]
sss
回复
引用
#179楼
2007-07-16 19:33
s[未注册用户]
dfdf
回复
引用
#180楼
2007-07-25 13:41
johnbl[未注册用户]
我下载源代码,自己改了一下,联动是可以的,但是好像效率很低,选择一个省或者市以后页面就像假死一样~
回复
引用
#181楼
2007-07-27 21:40
斑竹[未注册用户]
为什么response.value总是空的,能返回dataset吗...
回复
引用
#182楼
2007-07-28 09:44
西西[未注册用户]
test_cs 是什么啊
回复
引用
#183楼
2007-07-29 22:21
斑竹[未注册用户]
和小山给出的例子相同,希望大家给予帮助
回复
引用
#184楼
2007-08-11 08:49
狂人[未注册用户]
对象名 'povince' 无效。
听上面的人说是第一句SQL语句写错了,但我找了几个ASPX和.CS文件,里面确实有错别字的.但改过以后,依旧如此.不知如何修改,请指示.
回复
引用
#185楼
2007-08-14 10:49
中看不中用[未注册用户]
为什么发布到服务器上 出现
行:17
字符:5
错误:'AjaxMethod'未定义
代码:0
本机运行无错
回复
引用
#186楼
2007-09-18 11:12
329857895
谢谢您写的东西,联动效果已经做好了,但是我向把每个省、市和县的编号从页面上取出来,然后存在数据库中的另一张表里,我应该怎么做啊,能告诉我真实感激万分!
在线等!!!!!!!!!!!!!!!!!!!!!!!!!!!!
回复
引用
查看
#187楼
2007-09-21 13:36
纸鸢[未注册用户]
异常详细信息: System.ArgumentException: 回发或回调参数无效。在配置中使用 <pages enableEventValidation="true"/> 或在页面中使用 <%@ Page EnableEventValidation="true" %> 启用了事件验证。出于安全目的,此功能验证回发或回调事件的参数是否来源于最初呈现这些事件的服务器控件。如果数据有效并且是预期的,则使用 ClientScriptManager.RegisterForEventValidation 方法来注册回发或回调数据以进行验证。
出现这个错误可以这样解决
把<%@ Page EnableEventValidation="true" %>
改为<%@ Page EnableEventValidation="false" %>
在获取dropdownlist的值时用
string onevalue = Request.Form["DropDownList1"];
这样做就没问题了·
但不知后面会不会再出什么错·呵呵·
回复
引用
#188楼
2007-09-21 17:54
专研.NET
谢谢,我搞定了,我是通过修改
EnableEventValidation="false"
然后把值取出来放在一个隐藏的文本框中,然后再将值传到数据库中,真的很谢谢你了!
回复
引用
查看
#189楼
2007-09-21 17:55
专研.NET
你写的程序很不错,有时间多发布些好的东西,我会跟你好好学习的,谢谢了!
回复
引用
查看
#190楼
2008-01-22 08:40
gyg[未注册用户]
为什么 在2005中无法实现 你能解决吗?
回复
引用
#191楼
2008-01-22 08:41
gyg[未注册用户]
为什么 在2005中无法实现 你能解决吗?我很需要你的帮忙!
回复
引用
#192楼
2008-03-13 18:17
asimplefire[未注册用户]
为什么在Page_load()事件里有一个
if(!IsPostBack)
{
...............
.............
}
在浏览的时候,在下拉列表框里还重复加载了几次城市呀?
同一个省、市、区都出现了好次几了!
回复
引用
#193楼
2008-03-13 20:12
asimplefire[未注册用户]
怎么转为ascx文件呀!
用户自定义控件怎么去用javascript啊!
搞不了....
高手能帮帮么?
asimplefire@126.com
回复
引用
#194楼
2008-03-24 16:13
194[未注册用户]
能不能弄个有注释的,初学的看的很费劲啊。
回复
引用
#195楼
2008-05-11 11:42
FLYabroad
好东西
回复
引用
查看
#196楼
2008-09-09 19:48
uutome
--引用--------------------------------------------------
FLYabroad: 好东西
--------------------------------------------------------
收藏
回复
引用
查看
#197楼
2008-09-17 10:50
ywm[未注册用户]
好!!!!!!!!!!!!!
回复
引用
#198楼
2008-09-20 17:52
dandan
为什么在05中只显示省,后面的不显不的呢
回复
引用
查看
#199楼
2008-11-05 16:31
高义
用updatepanel 不比你这个简单吗?
回复
引用
查看
#200楼
2008-11-20 13:08
zhongguotaoci[未注册用户]
这种东西还是不要查询数据库的为好
毕竟中国的城市百年不会怎么变 和alibaba 注册页面那样的三级联动不是很好吗?
我就是使用alibaba的那个
可以参考 www.zhongguotaoci.com的注册页面
回复
引用
#201楼
2008-12-17 09:57
ty1017[未注册用户]
今天用到了这个东东,蛮不错的。
不过遇到一些问题,现在把它提出来,大家一块研究下。
1、页面打开后,第一次必须每个下拉框都选择才能出现完整地址。
2、选择的 省市县 有时不对照,比如我先选了“北京市市辖区东城区”,想改个地址“河北省石家庄市长安区”,把省下拉框选“河北”之后直接点test按钮会输出“河北省石家庄市东城区”的地址。而石家庄没有东城区。
3、选择台湾、澳门和香港时无法输出地址。
以上是我目前发现的问题,那位大虾解决了教下我啊 !
谢谢各位了 !!
回复
引用
#202楼
2009-01-04 14:28
古伟[未注册用户]
谢谢 转载了 呵呵
回复
引用
#203楼
2009-01-05 09:34
苏庆芹[未注册用户]
太谢谢了!这问题困扰我好几天!!
回复
引用
#204楼
2009-01-08 18:24
迷茫[未注册用户]
不能用啊,服务端控件怎么可以调用客户端JS呢?
回复
引用
#205楼
2009-02-13 17:21
yzx99
好东西!今天才发现有了AJAX.DLL,写起来比其它的简洁多了。
另下载的源码中GetPovinceList的select * from province写成了select * from povince,贴出的源码倒没错
回复
引用
查看
#206楼
2009-05-14 14:19
Wanderer-bj[未注册用户]
你好,博主
今天我写了一段程序,在本地编译运行没有问题,但是发布到IIS上出现问题。发布之后,访问可以看见页面,但是当调用后台的ajax方法时候说方法未定义,如您上面例子中的AjaxMethod说:undefined。望楼主给个建议,谢谢!可以直接回复到我的mail里,不胜感激!
回复
引用
#207楼
2009-07-11 19:36
【巴掌】
引用
过客[匿名]:异常详细信息: System.ArgumentException: 回发或回调参数无效。在配置中使用 <pages enableEventValidation="true"/> 或在页面中使用 <%@ Page EnableEventValidation="true" %> 启用了事件验证。出于安全目的,此功能验证回发或回调事件的参数是否来源于最初呈现这些事件的服务器控件。如果数据有效并且是预期的,则使用 ClientScriptManager.RegisterForEventValidation 方法来注册回发或回调数据以进行验证。
将EnableEventValidation="false" 就OK拉
回复
引用
查看
#208楼
2009-07-11 19:36
【巴掌】
引用
过客[匿名]:异常详细信息: System.ArgumentException: 回发或回调参数无效。在配置中使用 <pages enableEventValidation="true"/> 或在页面中使用 <%@ Page EnableEventValidation="true" %> 启用了事件验证。出于安全目的,此功能验证回发或回调事件的参数是否来源于最初呈现这些事件的服务器控件。如果数据有效并且是预期的,则使用 ClientScriptManager.RegisterForEventValidation 方法来注册回发或回调数据以进行验证。
将EnableEventValidation="false" 就OK拉
回复
引用
查看
#209楼
2009-07-23 12:03
奔跑男孩
小山,我问一下啊啊!这个程序是不是要把access中的数据库导入到生气 sql server中啊?怎么不见sql server 数据库啊?能不能给个现成的sql server 数据库啊?
回复
引用
查看
#210楼
2009-08-04 17:03
qaaa`1223[未注册用户]
sdfsfdsf
回复
引用
#211楼
2009-08-04 17:08
545434343edsdddfd[未注册用户]
sdfdsfdsfdsfsf
回复
引用
#212楼
2009-09-14 18:08
衲搁浅、旳羙
顶,山哥
回复
引用
查看
#213楼
2009-09-16 14:06
AAAAA7[未注册用户]
取值得问题已经解决
思路是给drp3也加一个回调函数
把值存在隐藏域里
QQ:4934588
回复
引用
#214楼
2009-10-23 15:35
且听风呤[未注册用户]
有用,先收下了
回复
引用
#215楼
2009-12-10 21:52
pl_1069
vs2003如何用ajax
回复
引用
查看
#216楼
2009-12-17 12:00
wenli
想成为有钱人,首先要有赚钱的愿望,才更容易实现。在财富的累积过程中,不要嫌钱少,先从小数目开始,总有一天能赚得更多。
除了财富的七大秘诀外,巴比伦人的五大黄金定律也是永恒的真理,都是用非常简单的方法,指导人们学习如何驾驭金钱,学习如何通过完备的理财知识使我们致富、保值增值、钱生钱,钱赚钱。并使我们的收入像源源不断的河流,为日后的生活和家庭提供长久的保障。
。想了解NGN的朋友请加我,详情:
http://wenli998.ngn.sg
. 真诚结交各方朋友
你的成功将决定于你所交往的朋友的素
质!如何快速的将您的身边凝聚一群与您一样热爱学习,追求成功的朋友?从而营造一个成功的环境?
http://www.wenli998.cn/
只要有时间,只要有电脑,就可以在家创业。!运用电脑经商,高效率、低成本、无需囤货,真正0风险! 欢迎喜欢创业经商的朋友一起交流洽谈,成交海内外朋友。
www.wenli998.cn/net
各位大家好,不要每天忙着赚钱,想下自已的健康想信http;//www.wenli998.cn会帮到大家,谢谢
回复
引用
查看
评论共3页:
上一页
1
2
3
注册用户登录后才能发表评论,请
登录
或
注册
。
IT新闻
:
·
知名扩展 Firebug 的简化版登陆 Chrome
·
Google 悄悄地启用 1e100.net,打枪地不要
·
从 Google 代码库找到的好东西
·
苹果在线商店临时关闭 或将推新Macbook
·
豆瓣网推出豆瓣电台iPhone客户端
每天10分钟,轻松学英语
专题:
iPad
jQuery
Windows 7
网站导航:
博客园首页
IT新闻
个人主页
闪存
程序员招聘
社区
博问
网摘
China-pub 计算机图书网上专卖店!6.5万品种2-8折!
China-Pub 计算机绝版图书按需印刷服务
相关搜索:
DropDownList
Ajax&Altas
在知识库中查看:
Ajax实现无刷新三联动下拉框
Powered by:
博客园
Copyright © 小山