C#dropdownlist的二级联动怎么做啊?

也搜了很多,但是都没有具体的,都是讲个大概哪位能给我讲个具体的啊,想做个系别和专业的联动我的意思就是用两个dropdownlist控件实现联动... 也搜了很多,但是都没有具体的,都是讲个大概

哪位能给我讲个具体的啊,想做个系别和专业的联动
我的意思就是用两个dropdownlist控件实现联动
展开
 我来答
chufuya
推荐于2016-11-08 · TA获得超过253个赞
知道答主
回答量:335
采纳率:0%
帮助的人:0
展开全部
有两种方法:第一种是很简单的,就是第一级dropdownlist是个服务器控件,后台重新加载二级dropdownlist内容;
第二种就是js无刷新联动:代码发给你,自己看吧,半小时应该能看懂……
无刷新2级菜单联动
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>.net2.0回调实现二级无刷新联动</title>
<script type="text/javascript">
<!--
function test(arg)
{
if(arg!="button")
{
var thisArray=arg.split(',');
document.getElementById("DropDownList2").length=0;
for(var i = 0; i<thisArray.length ;i++)
{
document.getElementById("DropDownList2").options.add(new Option(thisArray[i].toString(),thisArray[i].toString()));
}
}
else
{
document.getElementById("text").innerHTML = "你选择的大类是:"+document.getElementById("DropDownList1").value+" 小类是:"+document.getElementById("DropDownList2").value;
}
}
//-->
</script>
<style>
</style>
</head>
<body>
<form id="form1" runat="server">
<asp:DropDownList ID="DropDownList1" runat="server">
<asp:ListItem Text='请选择'></asp:ListItem>
<asp:ListItem Value=1 Text=1></asp:ListItem>
<asp:ListItem Value=2 Text=2></asp:ListItem>
</asp:DropDownList>
<asp:DropDownList ID="DropDownList2" runat="server">
<asp:ListItem Text='请选择'></asp:ListItem>
</asp:DropDownList>
<input type=button onclick="callserver('3')" value="提交" />
<span id="text"></span>
</form>
</body>
</html>

using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.IO;
using System.Text;

public partial class _Default : System.Web.UI.Page,System.Web.UI.ICallbackEventHandler
{

protected void Page_Load(object sender, EventArgs e)
{
string str = Page.ClientScript.GetCallbackEventReference(this,"arg","test",null,false);///获取一个对客户端函数的引用
string script = "function callserver(arg){"+str+"}";///组织一个callserver函数
Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "key", script, true);///注册客户端脚本
DropDownList1.Attributes.Add("onchange", "callserver(document.getElementById('DropDownList1').value)");///为DropDownList1添加客户端的onchange事件,触发callserver函数
}
#region ICallbackEventHandler 成员
string selecttext = null;
public string GetCallbackResult()
{
StringBuilder sb = new StringBuilder();

if (selecttext == "1")
{
sb.Append("1-1,1-2,1-3");
}
else if (selecttext == "2")
{
sb.Append("2-1,2-2,2-3");
}
else
{
sb.Append("button");
}

return sb.ToString();///给客户端函数test返回一个参数sb
}

public void RaiseCallbackEvent(string eventArgument)
{
selecttext = eventArgument;///获得客户端提交的参数赋给变量selecttext
}
#endregion
}
Storm代理
2023-08-29 广告
StormProxies是全球大数据IP资源服务商,其住宅代理网络由真实的家庭住宅IP组成,可为企业或个人提供满足各种场景的代理产品。点击免费测试(注册即送1G流量)StormProxies有哪些优势?1、IP+端口提取形式,不限带宽,IP... 点击进入详情页
本回答由Storm代理提供
lncgliu
2009-03-02 · TA获得超过472个赞
知道答主
回答量:102
采纳率:0%
帮助的人:0
展开全部
2楼的不错,但第一种的有刷新。
不过现在都用Ajax控件了,非常简单
只要放在AjaxPanel里,代码正常写,不会有刷新
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
乌辉辜睿慈
2019-01-21 · TA获得超过3799个赞
知道大有可为答主
回答量:3181
采纳率:29%
帮助的人:206万
展开全部
通过数据库里面的这两张表的级联呀,就是通过汽车品牌表里面的的ID与车型里面的ID对应,
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友6f75ac8fa
2009-03-02 · TA获得超过2513个赞
知道大有可为答主
回答量:1.3万
采纳率:0%
帮助的人:4017万
展开全部
关联就好了,就像省市的 那样
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
380694523
2009-03-02 · TA获得超过115个赞
知道小有建树答主
回答量:430
采纳率:0%
帮助的人:200万
展开全部
用两个控件可以么??
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式