二级联动菜单怎么取值 代码比较长
bbg65 2008-03-20 02:02:07 想实现一个按行业发布信息的功能 先把每个行业显示出来 然后点击直接把值传到二级联动菜单页 直接把二级联动菜单的值和行业的对应上(?zhu_id=2&fu_id=5着样传 然后直接二级联动菜单页直接显示对应的值)在网上找到了二级联动菜单的例子做了一下 但是不知道怎么取值 代码比较长 希望高手帮帮忙
后台代码:
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim zhu_ID As String = (Convert.ToString(Request.QueryString("zhu_ID")))
Dim fu_ID As String = (Convert.ToString(Request.QueryString("fu_ID")))
'动态绑定DropDownList
'建立数据库连接
DropDownList1.Attributes.Add("OnChange", "Redirect(this.options.selectedIndex)")
DropDownList2.Attributes.Add("onchange", "choose(this.options.selectedIndex)")
Dim conn As SqlConnection = New SqlConnection(ConfigurationSettings.AppSettings("connectionString"))
conn.Open()
Dim cmd As SqlCommand = New SqlCommand
cmd.Connection = conn
'classid.Visible = False
'=====================================================================================
'生成客户端脚本控制的联动菜单
'查询Tb_Province表获得所有的省份
Dim sqlstr As String = "SELECT zhuid, zhuname FROM zhulm "
cmd.CommandText = sqlstr
Dim sqlda As SqlDataAdapter = New SqlDataAdapter(cmd)
'建立临时表存储省份数据
Dim Province As DataTable = New DataTable
sqlda.Fill(Province)
'Response.Write("将省份数据绑定到DropDownList1控件")
'Response.End()
'将省份数据绑定到DropDownList1控件
DropDownList1.DataSource = Province
DropDownList1.DataValueField = "zhuid"
DropDownList1.DataTextField = "zhuname"
If Not IsPostBack Then DropDownList1.DataBind()
'获取省份的个数
Dim ProvinceNum As Integer = Province.Rows.Count()
'使用StringBuilder构造含客户端控制脚本的字符串
Dim sbscript As New System.Text.StringBuilder
sbscript.Append("<script><!--")
sbscript.Append(Environment.NewLine & "var group=new Array(" & ProvinceNum & ");" & Environment.NewLine & "for (i=0; i<" & ProvinceNum & "; i++){group[i] = new Array()}" & Environment.NewLine)
'循环从省份临时表中取出一个省份,然后在数据库中查询此省份下的城市
Dim i As Integer
Dim j As Integer
Dim tempclass As DataTable
Dim CityNum As Integer
For i = 0 To ProvinceNum - 1
sqlstr = "SELECT fuid, funame FROM fulm WHERE Left(zhuid,2) = '" & Province.Rows(i)(0) & "'"
cmd.CommandText = sqlstr
sqlda = New SqlDataAdapter(cmd)
tempclass = New DataTable
sqlda.Fill(tempclass)
CityNum = tempclass.Rows.Count()
'Response.Write("栏目:" & Province.Rows(i)(0) & "小类有" & CityNum & "个<br>")
'将读取到的城市数据放入客户端脚本中
For j = 0 To CityNum - 1
sbscript.Append("group[" & i & "][" & j & "]=new Option(""" & tempclass.Rows(j)(1) & """,""" & tempclass.Rows(j)(0) & """);" & Environment.NewLine)
Next
Next
'加入客户端脚本控制代码
sbscript.Append(Environment.NewLine & "function Redirect(x){" & Environment.NewLine & "for (m=Form1.DropDownList2.options.length-1;m>0;m--){Form1.DropDownList2.options[m]=null}")
sbscript.Append(Environment.NewLine & "if (group[x].length==0){")
sbscript.Append(Environment.NewLine & "Form1.DropDownList2.options[0]=new Option('---请选择---','无')}")
sbscript.Append(Environment.NewLine & "for (i=0;i<group[x].length;i++){" & Environment.NewLine & "Form1.DropDownList2.options[i]=new Option(group[x][i].text,group[x][i].value)}")
sbscript.Append(Environment.NewLine & "Form1.DropDownList2.options[0].selected=true;Form1.classid.value=Form1.DropDownList2.options[0].value;}")
sbscript.Append(Environment.NewLine & "function choose(x){Form1.classid.value=Form1.DropDownList2.options[x].value;}")
sbscript.Append(Environment.NewLine & "-->")
sbscript.Append("<")
sbscript.Append("/")
sbscript.Append("script>")
'注册客户端脚本,将脚本内容写入客户端输出流
Dim strscript As String = sbscript.ToString()
If (Not IsClientScriptBlockRegistered("clientScript")) Then
RegisterClientScriptBlock("clientScript", strscript)
End If
'=====================================================================================
'初始化DropDownList2中的内容
sqlstr = "SELECT fuid,funame FROM fulm WHERE (Left(zhuid,2) = '" & Province.Rows(0)(0) & "')"
cmd.CommandText = sqlstr
sqlda = New SqlDataAdapter(cmd)
Dim dtCity As DataTable = New DataTable
sqlda.Fill(dtCity)
DropDownList2.DataSource = dtCity
DropDownList2.DataValueField = "fuid"
DropDownList2.DataTextField = "funame"
If Not IsPostBack Then DropDownList2.DataBind()
sqlda.Dispose()
cmd.Dispose()
conn.Close()
End Sub
Private Sub btn_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn.Click
Dim myconn As SqlConnection = New SqlConnection(ConfigurationSettings.AppSettings("connectionString"))
Dim str_insert As String = "insert into [xinxi](name,chengdu,zhuid,fuid,jiage,suoshu,diqu,youxiaoqi,dianhua,jianjie) VALUES (@name,@chengdu,@zhuid,@fuid,@jiage,@suoshu,@diqu,@youxiaoqi,@dianhua,@jianjie)"
Dim mycmd As SqlCommand = New SqlCommand(str_insert, myconn)
mycmd.Parameters.Add("@name", Trim(name.Text))
mycmd.Parameters.Add("@chengdu", Trim(chengdu.Text))
mycmd.Parameters.Add("@jiage", Trim(jiage.Text))
mycmd.Parameters.Add("@zhuid", Trim(DropDownList1.SelectedValue))
mycmd.Parameters.Add("@fuid", Trim(classid.Value.ToString()))
mycmd.Parameters.Add("@suoshu", Trim(suoshu.SelectedValue))
mycmd.Parameters.Add("@diqu", Trim(diqu.SelectedValue))
mycmd.Parameters.Add("@youxiaoqi", Trim(youxiaoqi.SelectedValue))
mycmd.Parameters.Add("@dianhua", Trim(dianhua.Text))
mycmd.Parameters.Add("@jianjie", Trim(jianjie.Text))
myconn.Open()
mycmd.ExecuteNonQuery()
myconn.Close()
HttpContext.Current.Response.Write("<script Language='javascript'>window.alert('操作成功,请等待审核');window.location.href = 'issue.aspx';</script>")
End Sub
前台二个下拉菜单:
行业:<asp:dropdownlist id="DropDownList1" runat="server"></asp:dropdownlist>
小类:<asp:dropdownlist id="DropDownList2" runat="server"></asp:dropdownlist>