zoukankan      html  css  js  c++  java
  • ajax(1)

    我的截图如下:
    o_Ajax两级DropDownList联动.JPG
    1.首先要在项目中增加对ajax.dll 的引用. 2.AjaxMethod.cs

    using System;
    using System.Data;
    using System.Data.SqlClient;
    namespace MyAjaxSample
    {
        
    /// <summary>
        
    /// AjaxMethod 的摘要说明。
        
    /// </summary>

        public class AjaxMethod
        
    {

            
    #region GetPovinceList
            
    public static DataSet GetPovinceList()
            
    {
                
    string sql="select * from povince";
                
    return GetDataSet(sql);
            }

            
    #endregion


            
    #region GetCityList
            [Ajax.AjaxMethod]
            
    public  DataSet GetCityList(int povinceid)
            
    {
                
    string sql="select * from city where father='"+povinceid+"'";
                
    return GetDataSet(sql);            
            }

            
    #endregion


            
    #region GetAreaList
            [Ajax.AjaxMethod]
            
    public  DataSet GetAreaList(int cityid)
            
    {
                
    string sql="select * from area where father='"+cityid+"'";
                
    return GetDataSet(sql);            
            }

            
    #endregion

        
            
    #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


            

        }

    }


    3.HTML代码:

    <%@ Page language="c#" Codebehind="FourAjaxSample.aspx.cs" AutoEventWireup="false" Inherits="MyAjaxSample.FourAjaxSample" %>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
    <HTML>
        
    <HEAD>
            
    <title>FourAjaxSample</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)
                 
    {                    
                  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));
                }

                   document.all(
    "TextBox1").value="";  
                  }

                 }
                   
             
    return
           }


        
    function areaResult() 
        

            
    var area=document.getElementById("DropDownList2");
            AjaxMethod.GetAreaList(area.value,get_area_Result_CallBack);
        }



        
    function get_area_Result_CallBack()
        
    {
        
    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;
        document.all(
    "TextBox1").value=pText+cText;                        
     
        }

            
    </script>
        
    </HEAD>
        
    <body MS_POSITIONING="GridLayout">
            
    <form id="Form1" method="post" runat="server">
                
    <h3>Ajax实现两级联动</h3>
                
    <TABLE class="border" id="border" style="Z-INDEX: 101; LEFT: 16px; WIDTH: 289px; POSITION: absolute; TOP: 48px; HEIGHT: 79px"
                    borderColor
    ="#95b0d9" cellSpacing="0" cellPadding="0" width="289" align="center" bgColor="#ffffff"
                    border
    ="1">
                    
    <TR>
                        
    <TD style="WIDTH: 130px; HEIGHT: 27px" bgColor="#d8e7f6">
                            
    <asp:label id="Lab_province" runat="server">省(直辖市)</asp:label></TD>
                        
    <TD style="HEIGHT: 27px">
                            
    <asp:dropdownlist id="DropDownList1" runat="server" onchange="cityResult();"></asp:dropdownlist></TD>
                    
    </TR>
                    
    <TR>
                        
    <TD style="WIDTH: 130px; HEIGHT: 24px" bgColor="#d8e7f6">
                            
    <asp:Label id="Lab_City" runat="server">城市</asp:Label></TD>
                        
    <TD style="HEIGHT: 24px">
                            
    <asp:DropDownList id="DropDownList2" runat="server" onchange="areaResult();"></asp:DropDownList></TD>
                    
    </TR>
                    
    <TR>
                        
    <TD style="WIDTH: 130px" bgColor="#d8e7f6">你的最后选择是:
                        
    </TD>
                        
    <TD>
                            
    <asp:TextBox id="TextBox1" runat="server"></asp:TextBox></TD>
                    
    </TR>
                
    </TABLE>
            
    </form>
        
    </body>
    </HTML>

    4 .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 MyAjaxSample
    {
        
    /// <summary>
        
    /// FourAjaxSample 的摘要说明。
        
    /// </summary>

        public class FourAjaxSample : System.Web.UI.Page
        
    {
            
    protected System.Web.UI.WebControls.DropDownList DropDownList1;
            
    protected System.Web.UI.WebControls.Label Lab_province;
            
    protected System.Web.UI.WebControls.Label Lab_City;
            
    protected System.Web.UI.WebControls.TextBox TextBox1;
            
    protected System.Web.UI.WebControls.DropDownList DropDownList2;
        
            
    private void Page_Load(object sender, System.EventArgs e)
            
    {
                Ajax.Utility.RegisterTypeForAjax(
    typeof(MyAjaxSample.AjaxMethod));
                
    if(!Page.IsPostBack)
                
    {
                    
    this.DropDownList1.DataSource=AjaxMethod.GetPovinceList();
                    
    this.DropDownList1.DataTextField="province";
                    
    this.DropDownList1.DataValueField="provinceID";
                    
    this.DropDownList1.DataBind();
                    
    this.DropDownList1.Attributes.Add("onclick","cityResult();");
                    
    this.DropDownList2.Attributes.Add("onclick","areaResult();");
                }

            }


            
    #region Web 窗体设计器生成的代码
            
    override protected void OnInit(EventArgs e)
            
    {
                
    //
                
    // CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
                
    //
                InitializeComponent();
                
    base.OnInit(e);
            }

            
            
    /// <summary>
            
    /// 设计器支持所需的方法 - 不要使用代码编辑器修改
            
    /// 此方法的内容。
            
    /// </summary>

            private void InitializeComponent()
            
    {    
                
    this.Load += new System.EventHandler(this.Page_Load);

            }

            
    #endregion

        }

    }


    5.web.config

      <appSettings>
            
    <!-- SQL数据库连接 -->
            
    <add key="ConnectionString" value="Data Source=localhost;User Id=sa;Password=zhangzs;Initial Catalog=mytest;"/>
      
    </appSettings>
  • 相关阅读:
    连通域搜索
    识别深色浅色
    新年,博客搬家了!!!
    C++11 —— 使用 thread 实现线程池
    自己实现的网络字节序转换函数
    GUI 编程 —— QT 的 QSlider 鼠标点击定位问题
    单生产者/单消费者 的 FIFO 无锁队列
    用模板类特化的方式实现工厂模式
    C++11 —— 简易的旋转锁类
    C++11 —— 获取 tuple 参数列表中指定数据类型的索引位置
  • 原文地址:https://www.cnblogs.com/huangjihua/p/4125252.html
Copyright © 2011-2022 走看看