两个DropDownList之间如何建立控制的先后关系?(比如先选省份,后才能选城市)

nbshiny 2007-05-27 09:40:39
想问您一个问题,我如果一个页面里有两个DropDownList ,其中先选择一个dropdownlist的值,然后另一个dropdownlist中的内容会随着前一个的内容的变化而发生相应的变化,就比如第一个DropDownList 控制的是省份,而另一个DropDownList 控制的是哪个城市,比如选择的是江苏省,那么第二个DropDownList 中将会跳出的是江苏省的所有城市列表,但我这个过程不想通过js来实现,请问怎么实现,谢谢?
...全文
446 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
Jinglecat 2007-06-17
  • 打赏
  • 举报
回复
那请问这些联动的元素都是你自己输入的,如果这些联动的内容如果要取自数据库里的话,那又该怎么实现?
----------------------------
1。
没看到我这里的注释吗?

/*
* Create Sample Data below.
*/

用你自己查询数据库的方法替代我这里测试数据啊,
我这里只是提供样本数据而已


2。
我真的黑郁闷 :D
nbshiny 2007-06-16
  • 打赏
  • 举报
回复
那请问这些联动的元素都是你自己输入的,如果这些联动的内容如果要取自数据库里的话,那又该怎么实现?
jtg98g3 2007-06-05
  • 打赏
  • 举报
回复
dropdownlist没有文本输入框框的,我想用层做一个输入框框,我的dropdownlist是动态生成的,这个时候我就要将层移动到dropdownlist上去。请问我怎么获取dropdownlist的坐标值,然后让层覆盖该dropdownlist?


以下帖子给分。
如何在C#.net WEB2005开发中获取dropdownlist在网页中的位置坐标?
http://community.csdn.net/Expert/topic/5580/5580708.xml?temp=.7489435
昨天晚上发错连接,更正在发送。
jtg98g3 2007-06-05
  • 打赏
  • 举报
回复
dropdownlist没有文本输入框框的,我想用层做一个输入框框,我的dropdownlist是动态生成的,这个时候我就要将层移动到dropdownlist上去。请问我怎么获取dropdownlist的坐标值,然后让层覆盖该dropdownlist?


以下帖子给分。
如何在C#.net WEB2005开发中获取dropdownlist在网页中的位置坐标?
http://community.csdn.net/Expert/topic/5481/5481151.xml?temp=.4136316
jtg98g3 2007-06-04
  • 打赏
  • 举报
回复
dropdownlist没有文本输入框框的,我想用层做一个输入框框,我的dropdownlist是动态生成的,这个时候我就要将层移动到dropdownlist上去。请问我怎么获取dropdownlist的坐标值,然后让层覆盖该dropdownlist?


以下帖子给分。
如何在C#.net WEB2005开发中获取dropdownlist在网页中的位置坐标?
http://community.csdn.net/Expert/topic/5481/5481151.xml?temp=.4136316
Jinglecat 2007-05-27
  • 打赏
  • 举报
回复
<%@ Page Language="C#" %>
<%@ Import Namespace="System.Data" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script runat="server">
void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack) {
BindProvinceData();
BindCityData();
}
}

void drpProvince_SelectedIndexChanged(object sender, EventArgs e)
{
BindCityData();
}

void BindProvinceData()
{
drpProvince.DataSource = CreateProvinceTable(); // take your datasource
drpProvince.DataBind();
}

void BindCityData()
{
DataTable dtCity = CreateCityTable();
DataView dvCity = dtCity.DefaultView;
dvCity.RowFilter = "ProvinceID=" + drpProvince.SelectedValue;

drpCity.DataSource = dvCity; // take your datasource
drpCity.DataBind();
}

/*
* Create Sample Data below.
*/
DataTable CreateProvinceTable()
{
DataTable dt = new DataTable();
dt.Columns.Add("ProvinceID", typeof(int));
dt.Columns.Add("ProvinceName", typeof(string));

DataRow row = dt.NewRow();
row.ItemArray = new object[] {1, "Jiangsu"};
dt.Rows.Add(row);

row = dt.NewRow();
row.ItemArray = new object[] {2, "Fujian" };
dt.Rows.Add(row);

return dt;
}

DataTable CreateCityTable()
{
DataTable dt = new DataTable();
dt.Columns.Add("CityID", typeof(int));
dt.Columns.Add("CityName", typeof(string));
dt.Columns.Add("ProvinceID", typeof(int));

DataRow row = dt.NewRow();
row.ItemArray = new object[]{1, "Nanjiang", 1};
dt.Rows.Add(row);

row = dt.NewRow();
row.ItemArray = new object[]{2, "Nantong", 1};
dt.Rows.Add(row);

row = dt.NewRow();
row.ItemArray = new object[] { 3, "Fuzhou", 2 };
dt.Rows.Add(row);

row = dt.NewRow();
row.ItemArray = new object[] { 4, "Quanzhou", 2 };
dt.Rows.Add(row);

return dt;
}
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Untitled Page</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:DropDownList ID="drpProvince" DataTextField="ProvinceName" DataValueField="ProvinceId" AutoPostBack="true" OnSelectedIndexChanged="drpProvince_SelectedIndexChanged" runat="server"></asp:DropDownList>
<asp:DropDownList ID="drpCity" DataTextField="CityName" DataValueField="CityId" runat="server"></asp:DropDownList>
</div>
</form>
</body>
</html>
impeller 2007-05-27
  • 打赏
  • 举报
回复
在省份的DropDownList的SelectIndexChanged事件中重新绑定城市的DropDownList的数据源
孟子E章 2007-05-27
  • 打赏
  • 举报
回复
网上有很多联动的方法,就是在SelectIndexChanged事件里重新绑定第二个ddl即可

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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