• XmlHttp实现无刷新三联动下拉框


    1.html代码
    <HTML>
        
    <HEAD>
            
    <title>XmlHttp实现无刷新三联动下拉框</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">
        
    </HEAD>
        
    <body MS_POSITIONING="GridLayout">
            
    <form id="Form1" method="post" runat="server">
                
    <INPUT style="Z-INDEX: 102; LEFT: 448px; WIDTH: 56px; POSITION: absolute; TOP: 8px; HEIGHT: 24px"
                    onclick
    ="getData();" type="button" value="test">
                
    <asp:TextBox id="TextBox1" style="Z-INDEX: 101; LEFT: 16px; POSITION: absolute; TOP: 8px" runat="server"
                    Width
    ="424px"></asp:TextBox>
                
    <asp:DropDownList id="DropDownList2" runat="server" style="Z-INDEX: 103; LEFT: 176px; POSITION: absolute; TOP: 48px"></asp:DropDownList>
                
    <asp:DropDownList id="DropDownList1" runat="server" style="Z-INDEX: 104; LEFT: 16px; POSITION: absolute; TOP: 48px"></asp:DropDownList>
                
    <asp:DropDownList id="DropDownList3" runat="server" style="Z-INDEX: 105; LEFT: 296px; POSITION: absolute; TOP: 48px"></asp:DropDownList>
                
    <SCRIPT LANGUAGE="JavaScript">
                
    <!--
                    
    //以XML求取DropDownList2的数据
                    function XmlPost2(obj)
                    
    {
                      
    var svalue = obj.value;
                      
    var webFileUrl = "?provinceid=" + svalue;
                      
    var result = "";
                      
    var xmlHttp = new ActiveXObject("MSXML2.XMLHTTP");
                      xmlHttp.open(
    "POST", webFileUrl, false);
                      xmlHttp.send(
    "");
                      result 
    = xmlHttp.responseText;
                      
                      
    if(result != "")
                      
    {
                        document.all(
    "DropDownList2").length=0;
                        
    var piArray = result.split(",");
                        
    for(var i=0;i<piArray.length;i++)
                        
    {
                          
    var ary1 = piArray[i].toString().split("|");
                          document.all(
    "DropDownList2").options.add(new Option(ary1[1].toString(),ary1[0].toString()));
                        }

                      }

                      
    else
                      
    {
                        alert(result);
                      }

                    }

                    
    //以XML求取DropDownList3的数据
                    function XmlPost3(obj)
                    
    {
                      
    var svalue = obj.value;
                      
    var webFileUrl = "?cityid=" + svalue;
                      
    var result = "";
                      
    var xmlHttp = new ActiveXObject("MSXML2.XMLHTTP");
                      xmlHttp.open(
    "POST", webFileUrl, false);
                      xmlHttp.send(
    "");
                      result 
    = xmlHttp.responseText;
                      
                      
    if(result != "")
                      
    {
                        document.all(
    "DropDownList3").length=0;
                        
    var piArray = result.split(",");
                        
    for(var i=0;i<piArray.length;i++)
                        
    {
                          
    var ary1 = piArray[i].toString().split("|");
                          document.all(
    "DropDownList3").options.add(new Option(ary1[1].toString(),ary1[0].toString()));
                        }

                      }

                      
    else
                      
    {
                        alert(result);
                      }

                    }

                    
    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>
            
    </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;
    using System.Data.SqlClient;
    namespace WebApplication1
    {
        
    /// <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.DropDownList DropDownList3;
            
    protected System.Web.UI.WebControls.TextBox TextBox1;
        
            
    public static string ConnectionString=System.Configuration .ConfigurationSettings .AppSettings["ConnectionString"];
        
            
    GetDataSet

            
    property

            
    Page_Load

            
    down2_bind

            
    down3_bind
            
            
    down1_bind

            
    Web Form Designer generated code
        }

    }


    3.数据库area1.rar
    4.Ajax实现无刷新三联动下拉框

    5.源代码下载XmlHttpselect.rar

    6.Asp.Net 2.0 中 回发或回调参数无效 的解决方案
          回发或回调参数无效。在配置中使用 <pages enableEventValidation="true"/> 或在页面中使用 <%@ Page EnableEventValidation="true" %> 启用了事件验证。出于安全目的,此功能验证回发或回调事件的参数是否来源于最初呈现这些事件的服务器控件。

    目前为止遇到的出现情况有两种:
    一是Form嵌套,一个页面只能有一个Form,仔细检查代码就可以解决。
    二是在下拉菜单中使用javascript 来更改内容(如AJAX),常见于省 市 联动菜单,在事件回发时提示该错误。
    该错误只有在  vs 2.0 上才会出现,如果把 enableEventValidation="true"  改成 enableEventValidation="false" 错误是不会出事了但是在代码中确读不到此项的值。
    第一种情况的话不能在form 里嵌form
    第二种情况的解决办法 就是把 控制改成 Html 的控制,控件带上 runat="server"
    如:下面是我的一个解决办法
    一个省份和城市的链动效果
    <asp:DropDownList ID="DropDownList3" runat="server" onchange="changelocation(DropDownList3.options[DropDownList3.selectedIndex].value)">
            </asp:DropDownList>
    <select name="DDLcity"  id="DDLcity" runat="server">
           <option value="0">=请选择=</option>
         </select>
    然后在 后台 cs代码里用          Request.Form["DDLcity"]; 来接收城市的值。
  • 相关阅读:
    [经验栈]C#中几种定时器(timer)的区别
    [经验栈]C#与泰克示波器(Tektronix oscilloscope)MSO64通信操作
    [经验栈]C#监测IPv4v6网速及流量
    [技术栈]CRC校验原理及C#代码实现CRC16、CRC32计算FCS校验码
    [技术栈]C#利用Luhn算法(模10算法)对IMEI校验
    [经验栈]SQL语句逻辑运算符"AND"、"&&"兼容性
    Winform或WebForm使用ReportViewer报表设计,工具栏按钮英文显示的解决办法
    Dev 使用RibbonForm打开多标签窗体,主窗体的Text显示一个
    Devexpress如何获取RadioGroup选中项的值和显示值
    MySQL远程连接失败,MySQL远程连接出现Using password:YES错误的解决办法
  • 原文地址:https://www.cnblogs.com/puke/p/760452.html
Copyright © 2020-2023  润新知