二级联动菜单怎么取值 代码比较长

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>
...全文
223 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
bbg65 2008-03-24
  • 打赏
  • 举报
回复
给个例子把 带取值的 谢谢
bbg65 2008-03-24
  • 打赏
  • 举报
回复
就着些啊 都在后台
bbg65 2008-03-21
  • 打赏
  • 举报
回复
晕 帮帮忙 郁闷了
Go 旅城通票 2008-03-21
  • 打赏
  • 举报
回复
choose的js函数在哪里,帖出来看看,我猜是你的名称搞错了
ReyZhang 2008-03-21
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 yangyifan0 的回复:]
这个还是比较简单``仿照ASP来取,直接使用 = request.getQustring('控件名称')
[/Quote]


这个应该可以
  • 打赏
  • 举报
回复
这个还是比较简单``仿照ASP来取,直接使用 = request.getQustring('控件名称')
  • 打赏
  • 举报
回复
友情帮顶还是可以的``````````
sgasv 2008-03-21
  • 打赏
  • 举报
回复
郁闷 有人能帮看下吗
超级大笨狼 2008-03-20
  • 打赏
  • 举报
回复
www.dullwolf.cn
连动例子
qiucp 2008-03-20
  • 打赏
  • 举报
回复
vb 不懂
max_userid 2008-03-20
  • 打赏
  • 举报
回复
vb的,看不懂
HarleyTung 2008-03-20
  • 打赏
  • 举报
回复

<script type="text/javascript">
//联动函数
function changehs(){
//首先取出当前选中的是那个省
var selectProObj = document.getElementById("DdlProvince");
var selectProId = selectProObj.options[selectProObj.selectedIndex].value;

//获取所有省市ID的下拉框的项目的个数
var sLen = document.getElementById("DdlCity").options.length;
//清除以前的内容
for(var i=0;i<sLen;i++)
{document.getElementById("DdlCity").options.remove(0);}

//获取所有省市ID的下拉框的项目的个数
var idObj = document.getElementById("Ddl_ProId");
sLen = idObj.options.length;
var hidecityObj = document.getElementById("Ddl_CityId");
var cityObj = document.getElementById("DdlCity");

cityObj.options.add(new Option("请选择市","请选择市"));
for (var i=0;i<sLen;i++)
if (selectProId == idObj.options[i].value){
cityObj.options.add(new Option(hidecityObj.options[i].text,hidecityObj.options[i].value));
}


}

function setValue(obj){
document.getElementById("edtCityId").value = obj.options[obj.selectedIndex].value;
}
  </script>


DdlProvince.Attributes.Add("onchange", "changehs();");
this.DdlCity.Attributes.Add("onchange", "setValue(this)");

//添加两个隐藏dropdownlist 分别绑定 Ddl_ProId Ddl_CityId
Basel 2008-03-20
  • 打赏
  • 举报
回复
可惜VB的不会用,看了头晕,C#的到是会用的

62,073

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧