您的位置:首页 > 其它

二级菜单级联

2013-07-14 19:35 253 查看
好久没总结了。先总结下这俩个月,看了点.net后台,看了点C++,但不是很多,这俩天看了点php.总结总结下.net遇到的问题吧。

第一个其实就是一个二级菜单的级联问题。

用一个简单的例子说明一下。

例子是一个省份和城市的级联,数据都从一个数据库的一张表里取。

前台代码:俩个DropDownList控件,这里注意AutoPostBack = ”True“ 做级联菜单前一个菜单一定要选上。

<asp:DropDownList ID="province" style="width:75px;" runat="server"  AutoPostBack="True"
onselectedindexchanged="province_SelectedIndexChanged">
</asp:DropDownList>
<asp:DropDownList ID="city" style="width:75px;" runat="server">
<asp:ListItem>--城市--</asp:ListItem>
</asp:DropDownList>


看下后台代码

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

using XIS.Brl;
using XIS.Model;

public partial class ComRegiser : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (IsPostBack == false)
{
Province_choose();
}
}
protected void Province_choose()
{
province.Items.Clear();
ListItem item = new ListItem();
item.Text = "--省份--";
item.Value = "-1";
province.Items.Add(item);
PlaceBr typeBr = new PlaceBr();
List<Place> listType = new List<Place>();
listType = typeBr.GetAll();
for (int i = 0; i < listType.Count; i++)
{
if (listType[i].Parentid == 0)
{
ListItem oItem = new ListItem();
oItem.Value = listType[i].PID.ToString();
oItem.Text = listType[i].cnPlaceName;
province.Items.Add(oItem);
}
}
}
protected void province_SelectedIndexChanged(object sender, EventArgs e)
{
city.Items.Clear();
ListItem item = new ListItem();
//载入城市数据
item.Text = "--城市--";
item.Value = "-1";
city.Items.Add(item);

PlaceBr placeBr = new PlaceBr();
List<Place> listcity = new List<Place>();
listcity = placeBr.GetAll();
int TypeID = int.Parse(province.SelectedItem.Value);

for (int i = 0; i < listcity.Count; i++)
{
if (listcity[i].Parentid !=0&&TypeID == listcity[i].Parentid)
{
ListItem oItem = new ListItem();
oItem.Value = listcity[i].PID.ToString();
oItem.Text = listcity[i].cnPlaceName;
city.Items.Add(oItem);
}
}

}

}
最后看一下SQL Server里的数据

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: