BigClass
表结构:
测试数据:
SmallClass1
表结构:
测试数据:
aspx页面 :
aspx代码:
<%@ Page language="c#" Codebehind="liandong_two.aspx.cs" AutoEventWireup="false" Inherits="AspNetTest.Common.liandong_two" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<HTML>
<HEAD>
<title>liandong_two</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 change()
{
var obj = document.Form1.DropDownList1;
if(obj.selectedIndex == 0)
{
return;
}
var bigClassId = obj.options[obj.selectedIndex].value;
var obj = document.Form1.DropDownList2;
obj.length = 0;
obj.options[0] = new Option("=选择小类=", "");
var len = 0;
for(var i=0; i<arrSmallClass.length; i++)
{
if(arrSmallClass[i][2] == bigClassId)
{
obj.options[++len] = new Option(arrSmallClass[i][1], arrSmallClass[i][0]);
}
}
}
</script>
</HEAD>
<body MS_POSITIONING="GridLayout">
<form id="Form1" method="post" runat="server">
<asp:DropDownList id="DropDownList1" style="Z-INDEX: 101; LEFT: 64px; POSITION: absolute; TOP: 24px"
runat="server"></asp:DropDownList>
<asp:DropDownList id="DropDownList2" style="Z-INDEX: 102; LEFT: 160px; POSITION: absolute; TOP: 24px"
runat="server"></asp:DropDownList>
</form>
</body>
</HTML>
cs代码:
1
using System;
2
using System.Text;
3
using System.Collections;
4
using System.ComponentModel;
5
using System.Data;
6
using System.Data.SqlClient;
7
using System.Drawing;
8
using System.Web;
9
using System.Web.SessionState;
10
using System.Web.UI;
11
using System.Web.UI.WebControls;
12
using System.Web.UI.HtmlControls;
13
14
namespace AspNetTest.Common
15
{
16
/// <summary>
17
/// liandong_two 的摘要说明。
18
/// </summary>
19
public class liandong_two : System.Web.UI.Page
20
{
21
protected System.Web.UI.WebControls.DropDownList DropDownList1;
22
protected System.Web.UI.WebControls.DropDownList DropDownList2;
23
24
private void Page_Load(object sender, System.EventArgs e)
25
{
26
28
BindDDLCreateJsdArray();
29
30
31
// 在此处放置用户代码以初始化页面
32
}
33
private void BindDDLCreateJsdArray()
34
{
35
string ConnectionString = System.Configuration.ConfigurationSettings.AppSettings["ConnectionString"];
36
SqlConnection conn = new SqlConnection(ConnectionString);
37
string sql = "select b.d_name as bname,b.d_id as bid,s.d_id as sid,s.d_name as sname from SmallClass1 s join BigClass b on s.d_classid=b.d_id";
38
SqlCommand cmd = new SqlCommand(sql, conn);
39
conn.Open();
40
SqlDataReader dr = cmd.ExecuteReader();
41
StringBuilder sb = new StringBuilder();
42
sb.Append("<script language=javascript>\n");
43
sb.Append("var arrSmallClass = new Array();\n");
44
ListItem lt = new ListItem("=选择大类=", "");
DropDownList1.Items.Clear();
45
DropDownList1.Items.Add(lt);
46
lt = new ListItem("=选择小类=", "");
47
DropDownList2.Items.Add(lt);
48
int i = 0;
49
int PreBigClassId = 0;
50
while(dr.Read())
51
{
52
string BigClassName = dr["bname"].ToString();
53
int BigClassId = Convert.ToInt32(dr["bid"].ToString());
54
string SmallClassName = dr["sname"].ToString();
55
int SmallClassID = Convert.ToInt32(dr["sid"].ToString());
56
lt = new ListItem(BigClassName, BigClassId.ToString());
57
if(BigClassId != PreBigClassId)
58
{
59
DropDownList1.Items.Add(lt);
60
PreBigClassId = BigClassId;
61
}
62
sb.Append("arrSmallClass["+ i +"] = new Array();\n");
63
sb.Append("arrSmallClass["+ i +"][0] = " + SmallClassID.ToString() + ";\n");
64
sb.Append("arrSmallClass["+ i +"][1] = \"" + SmallClassName + "\";\n");
65
sb.Append("arrSmallClass["+ i +"][2] = " + BigClassId + ";\n");
66
i++;
67
}
68
sb.Append("</script>");
69
Page.Response.Write(sb.ToString());
70
DropDownList1.Attributes.Add("onchange", "change()");
71
}
72
73
Web 窗体设计器生成的代码
93
}
94
}
95
using System;2
using System.Text;3
using System.Collections;4
using System.ComponentModel;5
using System.Data;6
using System.Data.SqlClient;7
using System.Drawing;8
using System.Web;9
using System.Web.SessionState;10
using System.Web.UI;11
using System.Web.UI.WebControls;12
using System.Web.UI.HtmlControls;13

14
namespace AspNetTest.Common15
{16
/// <summary>17
/// liandong_two 的摘要说明。18
/// </summary>19
public class liandong_two : System.Web.UI.Page20
{21
protected System.Web.UI.WebControls.DropDownList DropDownList1;22
protected System.Web.UI.WebControls.DropDownList DropDownList2;23
24
private void Page_Load(object sender, System.EventArgs e)25
{26

28
BindDDLCreateJsdArray();29

30
31
// 在此处放置用户代码以初始化页面32
}33
private void BindDDLCreateJsdArray()34
{35
string ConnectionString = System.Configuration.ConfigurationSettings.AppSettings["ConnectionString"];36
SqlConnection conn = new SqlConnection(ConnectionString);37
string sql = "select b.d_name as bname,b.d_id as bid,s.d_id as sid,s.d_name as sname from SmallClass1 s join BigClass b on s.d_classid=b.d_id";38
SqlCommand cmd = new SqlCommand(sql, conn);39
conn.Open(); 40
SqlDataReader dr = cmd.ExecuteReader();41
StringBuilder sb = new StringBuilder();42
sb.Append("<script language=javascript>\n");43
sb.Append("var arrSmallClass = new Array();\n");44
ListItem lt = new ListItem("=选择大类=", "");DropDownList1.Items.Clear();
45
DropDownList1.Items.Add(lt);46
lt = new ListItem("=选择小类=", "");47
DropDownList2.Items.Add(lt);48
int i = 0;49
int PreBigClassId = 0;50
while(dr.Read())51
{52
string BigClassName = dr["bname"].ToString();53
int BigClassId = Convert.ToInt32(dr["bid"].ToString());54
string SmallClassName = dr["sname"].ToString();55
int SmallClassID = Convert.ToInt32(dr["sid"].ToString());56
lt = new ListItem(BigClassName, BigClassId.ToString());57
if(BigClassId != PreBigClassId)58
{59
DropDownList1.Items.Add(lt);60
PreBigClassId = BigClassId;61
}62
sb.Append("arrSmallClass["+ i +"] = new Array();\n");63
sb.Append("arrSmallClass["+ i +"][0] = " + SmallClassID.ToString() + ";\n");64
sb.Append("arrSmallClass["+ i +"][1] = \"" + SmallClassName + "\";\n");65
sb.Append("arrSmallClass["+ i +"][2] = " + BigClassId + ";\n");66
i++;67
}68
sb.Append("</script>");69
Page.Response.Write(sb.ToString());70
DropDownList1.Attributes.Add("onchange", "change()");71
}72

73
Web 窗体设计器生成的代码93
}94
}95



浙公网安备 33010602011771号