c# .net 下拉菜单

数据库表学校名地址AaBb下拉菜单:学校名显示A,B控件asp:Literal地址显示对应A的地址a满足这个功能要怎么写啊... 数据库表
学校名 地址
A a
B b

下拉菜单:学校名
显示 A,B

控件 asp:Literal 地址
显示对应A的地址a

满足这个功能要怎么写啊
展开
 我来答
翔宇杂谈
2011-07-07 · TA获得超过689个赞
知道小有建树答主
回答量:849
采纳率:100%
帮助的人:325万
展开全部

这是一个二级联动的下拉框,你可以用Ajax实现无刷新二级联动下拉框更好:

制作DropDownList无刷新ajax二级联动效果:

begin:

  数据库实现,添加两表如图:表1,schooladress,表2,shcool,具体数据库实现看自己的理解

页面主要代码:

<asp:ScriptManager ID="ScriptManager1" runat="server">

</asp:ScriptManager>

<asp:UpdatePanel runat="server">

<ContentTemplate>

<asp:DropDownList ID="DropDownList1" runat="server" OnSelectedIndexChanged="DropDownList1_SelectedIndexChanged"

Width="200" AutoPostBack="True">

</asp:DropDownList>

<asp:DropDownList ID="DropDownList2" runat="server" Width="200">

</asp:DropDownList>

</ContentTemplate>

</asp:UpdatePanel>

//以上代码实现ajax的无刷新效果

程序主要代码:

protected void Page_Load(object sender, EventArgs e)

{

if (!IsPostBack)

{

BindDrop();

}

}

private void BindDrop()

{

//将数据捆绑到下拉列表中

string sqlStr = "select * from schoolname";

DataTable dt=DataBase.GetTable(sqlStr);

DropDownList1.DataTextField = "schoolname"; //设置列表显示的字

DropDownList1.DataValueField = "typeid"; //设置列表提交后获得的字段,自己理解为隐藏绑定数据

DropDownList1.DataSource = dt.DefaultView;

DropDownList1.DataBind();

DropDownList1.Items.Insert(0, new ListItem("请选择学校名称", ""));//第一项中加入内容,重点是绑定后添加

DropDownList2.Items.Insert(0, new ListItem("请选择学校地址", ""));//第一项中加入内容,重点是绑定后添加 

}

protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)

{

int typeid = Convert.ToInt32(DropDownList1.SelectedValue);//页面加载后DropDownList1.DataValueField隐藏绑定的数据,后边根据它查询DropDownList2要显现的数据

string sqlStr = "select * from type where typeid='" + typeid + "'";

DataTable dt = DataBase.GetTable(sqlStr);

DropDownList2.DataTextField = "type"; //设置DropDownList1事件SelectedIndexChanged改变后DropDownList2列表显示的数据

DropDownList2.DataSource = dt.DefaultView;

DropDownList2.DataBind();;

}

end

七柚大魔王
推荐于2016-10-21 · 超过18用户采纳过TA的回答
知道答主
回答量:81
采纳率:0%
帮助的人:26.9万
展开全部
这个简单,有很多种实现方式。一种在下拉菜单的对应选项中的Value是 地址
下拉菜单的change事件中获取选中的值,对asp:Literal 进行赋值
一种是下拉菜单的change事件中获取选中的值,然后根据选中的值遍历数据库数据,对asp:Literal 进行赋值

我觉得不用使用Ajax,太麻烦了,而且你用的是服务端控件。如果不懂得话可以给我发邮件jiale00700@163.com
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
372533079
2011-07-07 · 超过34用户采纳过TA的回答
知道答主
回答量:142
采纳率:0%
帮助的人:93.4万
展开全部
下拉菜单有一个 选中事件,
在事件里写.
假如页面有一个lable
那就写 lable.text=DropDownList1.SelectedItem.Value;

在下来菜单控件别忘记加 autopost=true
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2011-07-13
展开全部
这里有一个多级联动下拉select菜单
还可以自己设置默认显示值
里面有代码可以参考

参考资料: http://www.blueidea.com/common/shoutbox/redir.asp?2=u&id=11685

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
宫恒满
2011-07-07 · 超过38用户采纳过TA的回答
知道小有建树答主
回答量:310
采纳率:0%
帮助的人:128万
展开全部
晕 ~~用三元
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式