CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  .NET技术 >  ASP.NET

【DropDownList无刷新关联如何弄?!】

楼主snowpine999([彼岸烟花][当你看到☆河灿烂,可会想起我?])2006-07-27 14:43:14 在 .NET技术 / ASP.NET 提问

RT 问题点数:200、回复次数:26Top

1 楼snowpine999([彼岸烟花][当你看到☆河灿烂,可会想起我?])回复于 2006-07-27 14:43:49 得分 0

我很诚意滴~~  
   
  谢谢Top

2 楼snowpine999([彼岸烟花][当你看到☆河灿烂,可会想起我?])回复于 2006-07-27 14:46:34 得分 0

晕     没人Top

3 楼jc15271149(奶皮儿)回复于 2006-07-27 14:46:55 得分 10

ajax   小山的blog上边有Top

4 楼zhjg136(天星)回复于 2006-07-27 14:47:08 得分 0

http://singlepine.cnblogs.com/archive/2005/12/20/301009.htmlTop

5 楼zhjg136(天星)回复于 2006-07-27 14:48:18 得分 10

http://singlepine.cnblogs.com/archive/2005/10/19/257954.htmlTop

6 楼yuesongboy(温柔一刀)回复于 2006-07-27 14:48:27 得分 10

http://www.google.com/search?hl=zh-CN&ie=GB2312&oe=GB2312&newwindow=1&domains=cnblogs.com&q=%22%CE%DE%CB%A2%D0%C2%22%22%C1%AC%B6%AF%22%22DropDownList%22&btnG=%CB%D1%CB%F7&sitesearch=cnblogs.comTop

7 楼seesea101(狗尾草)回复于 2006-07-27 14:53:14 得分 10

Ajax实现无刷新三联动下拉框   http://singlepine.cnblogs.com/archive/2006/06/01/257954.html  
  XmlHttp实现无刷新三联动下拉框    
  http://singlepine.cnblogs.com/archive/2005/10/31/265678.aspx  
  ASP.NET利用JavaScript实现无刷新闪烁二级联动菜单  
  http://hover.cnblogs.com/archive/2005/01/17/92871.aspx  
   
  网上搜的,我以前用过第一个,感觉不太容易控制。Top

8 楼nZAI(喃样)回复于 2006-07-27 15:05:49 得分 10

可以来我这看看  
  http://nzai.cnblogs.com/archive/2006/07/03/ICallbackEventHandler.htmlTop

9 楼wjjdnajj(色空)回复于 2006-07-27 15:10:15 得分 5

使用ajax就很好了,jfTop

10 楼snowpine999([彼岸烟花][当你看到☆河灿烂,可会想起我?])回复于 2006-07-27 15:20:16 得分 0

See   See   First~~Top

11 楼snowpine999([彼岸烟花][当你看到☆河灿烂,可会想起我?])回复于 2006-07-27 15:20:50 得分 0

哪里有的给个地址撒Top

12 楼hymxtang(书童)回复于 2006-07-27 15:32:50 得分 5

MarkTop

13 楼zhangxiaopin(zxp)回复于 2006-07-27 15:38:25 得分 5

//*****使用jsTop

14 楼zhangxiaopin(zxp)回复于 2006-07-27 15:41:12 得分 5

//****先将数据读取客户端,然后用js控制Top

15 楼Eddie005(♂) №.零零伍 (♂)回复于 2006-07-28 09:21:18 得分 0

<%@   Page   language="c#"   Codebehind="级联DropDownList无刷新.aspx.cs"   AutoEventWireup="false"   Inherits="bsTest2005_8_16.Samples.级联DropDownList无刷新"   %>  
  <!DOCTYPE   HTML   PUBLIC   "-//W3C//DTD   HTML   4.0   Transitional//EN"   >  
  <HTML>  
  <HEAD>  
  <title>级联DropDownList无刷新</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   language="javascript">  
   
  function   drop1(index1)  
  {  
  document.getElementById("hid1").value   =   index1;  
  document.all["DropDownList1"].selectedIndex   =   index1;  
   
  while(document.all["DropDownList2"].options.length>1)  
  document.all["DropDownList2"].options.remove(1);  
   
  while(document.all["DropDownList3"].options.length>1)  
  document.all["DropDownList3"].options.remove(1);  
   
  if(index1>0)  
  {  
  var   selected1   =   new   Array();  
  selected1   =   allData[index1-1];  
  var   i;  
  for(i=0;i<selected1.length;i++)  
  {  
  var   oOption   =   document.createElement("OPTION");  
  document.all["DropDownList2"].options.add(oOption);  
   
  oOption.innerText   =   selected1[i][0][1];  
  oOption.value   =   selected1[i][0][0];  
  }  
  }  
  }  
   
  function   drop2(index2)  
  {  
  document.getElementById("hid2").value   =   index2;  
  document.all["DropDownList2"].selectedIndex   =   index2;  
   
  while(document.all["DropDownList3"].options.length>1)  
  document.all["DropDownList3"].options.remove(1);  
   
  if(index2>0)  
  {  
  var   selected2   =   new   Array();  
  selected2   =   allData[document.all["DropDownList1"].selectedIndex-1][index2-1][1];  
  var   i;  
  for(i=0;i<selected2.length;i++)  
  {  
  var   oOption   =   document.createElement("OPTION");  
  document.all["DropDownList3"].options.add(oOption);  
   
  oOption.innerText   =   selected2[i][1];  
  oOption.value   =   selected2[i][0];  
  }  
  }  
  }  
  function   drop3(index3)  
  {  
  document.getElementById("hid3").value   =   index3;  
  document.all["DropDownList3"].selectedIndex   =   index3;  
  }  
  </script>  
  </HEAD>  
  <body   MS_POSITIONING="GridLayout">  
  <form   id="Form1"   method="post"   runat="server">  
  <asp:DropDownList   id="DropDownList1"   runat="server"   DataTextField="field2"   DataValueField="field1">  
  <asp:ListItem>   -   -   -   -   </asp:ListItem>  
  </asp:DropDownList>  
  <asp:DropDownList   id="DropDownList2"   runat="server">  
  <asp:ListItem>   -   -   -   -   </asp:ListItem>  
  </asp:DropDownList>  
  <asp:DropDownList   id="DropDownList3"   runat="server">  
  <asp:ListItem>   -   -   -   -   </asp:ListItem>  
  </asp:DropDownList>&nbsp;<input   type="hidden"   value="0"   id="hid1"   runat="server"><input   type="hidden"   value="0"   id="hid2"   runat="server"><input   type="hidden"   value="0"   id="hid3"   runat="server">  
  <asp:Button   id="Button1"   style="Z-INDEX:   101;   LEFT:   344px;   POSITION:   absolute;   TOP:   64px"   runat="server"  
  Text="Button"></asp:Button>  
  <asp:TextBox   id="TextBox1"   style="Z-INDEX:   102;   LEFT:   408px;   POSITION:   absolute;   TOP:   64px"   runat="server"></asp:TextBox>  
  </form>  
   
  </body>  
  </HTML>  
  Top

16 楼Eddie005(♂) №.零零伍 (♂)回复于 2006-07-28 09:21:33 得分 95

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   bsTest2005_8_16.Samples  
  {  
  ///   <summary>  
  ///   级联DropDownList无刷新   的摘要说明。  
  ///   </summary>  
  public   class   级联DropDownList无刷新   :   System.Web.UI.Page  
  {  
                  protected   System.Web.UI.WebControls.DropDownList   DropDownList1;  
                  protected   System.Web.UI.WebControls.DropDownList   DropDownList2;  
                  protected   System.Web.UI.WebControls.DropDownList   DropDownList3;  
           
                  private   DataTable   dt1   =   null;  
                  private   DataTable   dt2   =   null;  
                  protected   System.Web.UI.WebControls.Button   Button1;  
                  protected   System.Web.UI.WebControls.TextBox   TextBox1;  
                  protected   System.Web.UI.HtmlControls.HtmlInputHidden   hid1;  
                  protected   System.Web.UI.HtmlControls.HtmlInputHidden   hid2;  
                  protected   System.Web.UI.HtmlControls.HtmlInputHidden   hid3;  
                  private   DataTable   dt3   =   null;  
   
  private   void   Page_Load(object   sender,   System.EventArgs   e)  
  {  
  //   在此处放置用户代码以初始化页面  
                          LoadData();  
                          if(!IsPostBack)  
                          {  
                                   
   
                                  this.DropDownList1.DataSource   =   dt1;  
                                  this.DropDownList1.DataBind();  
   
                                  this.DropDownList1.Items.Insert(0,new   ListItem("   -   -   -   -   ",""));  
                                  this.DropDownList1.Attributes.Add("onchange","drop1(this.selectedIndex);");  
                                  this.DropDownList2.Attributes.Add("onchange","drop2(this.selectedIndex);");  
                                  this.DropDownList3.Attributes.Add("onchange","drop3(this.selectedIndex);");  
                                 
                          }  
                          Page.RegisterStartupScript("js",this.CreateJSArray());  
                       
  }  
   
                  private   void   LoadData()  
                  {  
                          dt1   =   new   DataTable();  
                          dt1.Columns.Add("field1");  
                          dt1.Columns.Add("field2");  
                           
                          dt1.Rows.Add(new   object[]{"gd","广东"});  
                          dt1.Rows.Add(new   object[]{"gx","广西"});  
                          dt1.Rows.Add(new   object[]{"fx","福建"});  
   
                          dt2   =   new   DataTable();  
                          dt2.Columns.Add("field1");  
                          dt2.Columns.Add("field2");  
                          dt2.Columns.Add("shengfen");  
   
                          dt2.Rows.Add(new   object[]{"sz","深圳","gd"});  
                          dt2.Rows.Add(new   object[]{"dg","东莞","gd"});  
                          dt2.Rows.Add(new   object[]{"zs","中山","gd"});  
                          dt2.Rows.Add(new   object[]{"zh","珠海","gd"});  
                          dt2.Rows.Add(new   object[]{"km","昆明","gx"});  
                          dt2.Rows.Add(new   object[]{"gl","桂林","gx"});  
                          dt2.Rows.Add(new   object[]{"fz","福州","fx"});  
                          dt2.Rows.Add(new   object[]{"st","汕头","fx"});  
   
                          dt3   =   new   DataTable();  
                          dt3.Columns.Add("chengshi");  
                          dt3.Columns.Add("name");  
                          dt3.Columns.Add("code");  
                           
   
                          dt3.Rows.Add(new   object[]{"sz","深圳-wefawe","gd1"});  
                          dt3.Rows.Add(new   object[]{"dg","东莞-awef","gd2"});  
                          dt3.Rows.Add(new   object[]{"zs","中山-ewga","gd3"});  
                          dt3.Rows.Add(new   object[]{"zh","珠海-wega","gd4"});  
                          dt3.Rows.Add(new   object[]{"km","昆明-gawef","gx1"});  
                          dt3.Rows.Add(new   object[]{"gl","桂林-gaw3","gx2"});  
                          dt3.Rows.Add(new   object[]{"fz","福州-awg3","fx1"});  
                          dt3.Rows.Add(new   object[]{"st","汕头-dfaewf","fx2"});  
   
                          dt3.Rows.Add(new   object[]{"sz","深圳-IOEPRG","gd5"});  
                          dt3.Rows.Add(new   object[]{"dg","东莞-J5AQ5","gd6"});  
                          dt3.Rows.Add(new   object[]{"zs","中山-VAWER","gd7"});  
                          dt3.Rows.Add(new   object[]{"zh","珠海-BAER","gd8"});  
                          dt3.Rows.Add(new   object[]{"km","昆明-BAW3","gx5"});  
                          dt3.Rows.Add(new   object[]{"gl","桂林-BA4T","gx6"});  
                          dt3.Rows.Add(new   object[]{"fz","福州-FGAWH","fx5"});  
                          dt3.Rows.Add(new   object[]{"st","汕头-A3YA3","fx6"});  
                  }  
   
                 
   
                  private   string   CreateJSArray()  
                  {  
                          if(ViewState["JSArray"]!=null)  
                          {  
                                  return   ViewState["JSArray"].ToString();  
                          }  
                          else  
                          {  
                                  System.Text.StringBuilder   sb   =   new   System.Text.StringBuilder();  
                                  sb.Append("<script   language='javascript'>");  
                                  sb.Append("var   allData   =   new   Array("+dt1.Rows.Count+");");  
                                  for(int   i=0;i<dt1.Rows.Count;i++)  
                                  {  
                                          string   shengfen   =   dt1.Rows[i][0].ToString();  
                                          DataRow[]   rows2   =   dt2.Select("[shengfen]='"+shengfen+"'");  
                                          sb.Append("allData["+i.ToString()+"]   =   new   Array("+rows2.Length+");");  
                                          for(int   j=0;j<rows2.Length;j++)  
                                          {  
                                                  string   chengshi   =   rows2[j][0].ToString();  
                                                  DataRow[]   rows3   =   dt3.Select("[chengshi]='"+chengshi+"'");  
                                                  sb.Append("allData["+i.ToString()+"]["+j.ToString()+"]   =   new   Array(2);");  
                                                  sb.Append("allData["+i.ToString()+"]["+j.ToString()+"][0]   =   new   Array(2);");  
                                                  sb.Append("allData["+i.ToString()+"]["+j.ToString()+"][0][0]   =   '"+rows2[j][0].ToString()+"';");  
                                                  sb.Append("allData["+i.ToString()+"]["+j.ToString()+"][0][1]   =   '"+rows2[j][1].ToString()+"';");  
                                                  sb.Append("allData["+i.ToString()+"]["+j.ToString()+"][1]   =   new   Array("+rows3.Length+");");  
                                                  for(int   k=0;k<rows3.Length;k++)  
                                                  {  
                                                          sb.Append("allData["+i.ToString()+"]["+j.ToString()+"][1]["+k.ToString()+"]   =   new   Array(2);");  
                                                          sb.Append("allData["+i.ToString()+"]["+j.ToString()+"][1]["+k.ToString()+"][0]   =   '"+rows3[k][2].ToString()+"';");  
                                                          sb.Append("allData["+i.ToString()+"]["+j.ToString()+"][1]["+k.ToString()+"][1]   =   '"+rows3[k][1].ToString()+"';");  
                                                  }  
                                          }  
                                  }  
   
                                  sb.Append("drop1(document.getElementById('hid1').value);");  
                                  sb.Append("drop2(document.getElementById('hid2').value);");  
                                  sb.Append("drop3(document.getElementById('hid3').value);");  
                                  sb.Append("</script>");  
                                  ViewState["JSArray"]   =   sb.ToString();  
                                  return   sb.ToString();  
                          }  
                  }  
   
  #region   Web   窗体设计器生成的代码  
  override   protected   void   OnInit(EventArgs   e)  
  {  
  //  
  //   CODEGEN:   该调用是   ASP.NET   Web   窗体设计器所必需的。  
  //  
  InitializeComponent();  
  base.OnInit(e);  
  }  
   
  ///   <summary>  
  ///   设计器支持所需的方法   -   不要使用代码编辑器修改  
  ///   此方法的内容。  
  ///   </summary>  
  private   void   InitializeComponent()  
  {          
                          this.Button1.Click   +=   new   System.EventHandler(this.Button1_Click);  
                          this.Load   +=   new   System.EventHandler(this.Page_Load);  
   
                  }  
  #endregion  
   
                  private   void   Button1_Click(object   sender,   System.EventArgs   e)  
                  {  
                          string   a   =   this.hid1.Value;//取选中行号  
                          string   aa     =   Request.Form["DropDownList1"];//取选中的值  
   
                          string   b   =   this.hid2.Value;//取选中行号  
                          string   bb     =   Request.Form["DropDownList2"];//取选中的值  
   
                          string   c   =   this.hid3.Value;//取选中行号  
                          string   cc   =   Request.Form["DropDownList3"];//取选中的值  
   
                          this.TextBox1.Text   =   a   +"   -   "+   b   +   "   -   "   +c;  
   
                          DataRow   dr;  
                         
                  }  
  }  
  }  
  Top

17 楼greki(锐╃→)回复于 2006-07-28 09:33:08 得分 5

ajaxTop

18 楼smalladam(强者的孤独---达到一定的高度 即可体会...)回复于 2006-07-28 09:41:30 得分 5

ajax   jfTop

19 楼saintqiqi(钻石星辰(www.saintzone.net))回复于 2006-07-28 09:48:56 得分 5

markTop

20 楼angelhyli(雨儿)回复于 2006-07-28 09:51:57 得分 5

以前我用js+xmlhttp  
  现在用ajax.Top

21 楼snowpine999([彼岸烟花][当你看到☆河灿烂,可会想起我?])回复于 2006-07-28 10:03:50 得分 0

想不到啊      
   
  想不到~~~  
   
  Top

22 楼lw7210(风中邪神)回复于 2006-07-28 10:29:03 得分 5

当选取一个项后,你没有把值返回服务器,在属性中设下下就可以了。Top

23 楼snowpine999([彼岸烟花][当你看到☆河灿烂,可会想起我?])回复于 2006-07-28 11:27:35 得分 0

结帖了哈   给分分~~Top

24 楼czq9966(宁录)(毛主席领导咱闹革命……)回复于 2006-07-28 11:28:01 得分 5

UPTop

25 楼wen98091(雪)回复于 2006-07-28 12:13:14 得分 5

要么坐在xml,要么写在代码里,  
  总是要提前置放在什么地方才行。Top

26 楼hanchi8008(寒池)回复于 2006-07-28 17:26:06 得分 0

markTop

相关问题

关键词

得分解答快速导航

  • 帖主:snowpine999
  • jc15271149
  • zhjg136
  • yuesongboy
  • seesea101
  • nZAI
  • wjjdnajj
  • hymxtang
  • zhangxiaopin
  • zhangxiaopin
  • Eddie005
  • greki
  • smalladam
  • saintqiqi
  • angelhyli
  • lw7210
  • czq9966
  • wen98091

相关链接

  • CSDN .NET频道
  • .NET类图书
  • C#类图书
  • .NET类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo