有个分类表(如手表、香水、箱包等),还有个品牌表(如古驰、巴宝莉等),一个品牌可以在多个类型下
在选择分类后,出现分类下面的品牌,注意数据都是从数据库读取的
在选择分类后,出现分类下面的品牌,注意数据都是从数据库读取的
解决方案 »
- 求类化个php语句。。(到asp.net
- 大家都进来谈谈平时用的是什么测试工具来测试做完的ASP.NET网站(来者有分)
- 急急急,datalist动态绑定的问题,太怪了!
- 怎样才能在绑定OrganName之前先用MD(str)对其进行解密???????????
- 能在同一个页面内同时写两个GridView控件吗?
- 请教页面控件按钮没响应的问题
- 图片的相对路径的问题:最简单了 100分!
- 如何关闭页面
- 我要用asp.net做数据库方面的程序设计需要什么设置?
- scriptx的问题:出现参数<PARAM NAME="__PX__disablePrint" VALUE="2052">导致不能打印,请问如何解决?
- 关于windows消息队列
- 急。。RadioButtonList 怎么给绑定值,进来看详细介绍
可以ajax做 。
先加载第一个下拉列表的数据给这个下拉列表。。onchange事件中提交到一般处理程序或后台通过第一个下拉列表选中项ID取得第二个下拉列表的数据绑定
http://blog.csdn.net/porschev/archive/2010/10/15/5943579.aspx上面是个二级联动。。用AJAX获取的示例。。
dw_Bclass.Attributes.Add("onChange", "changelocation(document.getElementById('" + dw_Bclass.ClientID + "').options[document.getElementById('" + dw_Bclass.ClientID + "').selectedIndex].value)");
#region 生成类型选择js
private void BuildDw()
{ string str = "";
string Column = "";
if (!IsAdmin())
{ DataSet dsc = db.GetDataSet("Select * From Sclass Where isUse=1");
foreach (DataRow Item in dsc.Tables[0].Rows)
{
if (Session["MLegal"].ToString().Contains(Item["ColumnNum"].ToString())) Column = Column + "'" + Item["ColumnNum"].ToString() + "'" + ",";
}
if (Column.Length > 1) Column = Column.Remove(Column.Length - 1);
str = " and ColumnNum in(" + Column + ")";
} string sql = "Select * From Sclass where isuse=1" + str +" order by bclassid ,id";
DataSet ds = db.GetDataSet(sql);
StringBuilder sb = new StringBuilder();
sb.Append("<script language = \"JavaScript\">\r");
sb.Append("var onecount;\r");
int count = 0;
sb.Append("subcat = new Array();\r");
for (int i = 0; i < ds.Tables[0].Rows.Count; ++i)
{
sb.Append("subcat[").Append(count.ToString()).Append("] = new Array(\"").Append(ds.Tables[0].Rows[i]["name"].ToString()).Append("\",\"");
sb.Append(ds.Tables[0].Rows[i]["bclassid"].ToString()).Append("\",\"").Append(ds.Tables[0].Rows[i]["id"].ToString()).Append("\");\r");
++count;
} sb.Append("function changelocation(locationid){\r");
sb.Append("document.getElementById(\"").Append(dw_Sclass.ClientID).Append("\").length = 0 ;\r");
sb.Append(" var locationid=locationid;\r");
sb.Append("for (i=0;i < " + count + "; i++)\r");
sb.Append("{\r");
sb.Append("if (subcat[i][1] == locationid)\r");
sb.Append("{ \r");
sb.Append("document.getElementById(\"" + dw_Sclass.ClientID + "\").options[document.getElementById(\"" + dw_Sclass.ClientID + "\").length]=");
sb.Append("new Option(subcat[i][0], subcat[i][2]);\r");
sb.Append("}\r");
sb.Append("}\r");
sb.Append("}\r");
sb.Append("</script>\r");
this.Page.RegisterStartupScript("dw", sb.ToString());
}
#endregion
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.Data.SqlClient;public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!this.IsPostBack)
{
//绑定省
SqlConnection con = new SqlConnection("server=.;database=dropDownTest;integrated security=true;");
con.Open();
SqlCommand cmd = new SqlCommand("select * from provience", con);
SqlDataReader sdr = cmd.ExecuteReader();
this.ddlprovince.DataSource = sdr;
this.ddlprovince.DataTextField = "proName";
this.ddlprovince.DataValueField = "proID";
this.ddlprovince.DataBind();
sdr.Close();
//绑定市
SqlCommand cmdcity = new SqlCommand("select * from city where proID=" + this.ddlprovince.SelectedValue, con);
SqlDataReader sdr1 = cmdcity.ExecuteReader();
this.ddlcity.DataSource = sdr1;
this.ddlcity.DataTextField = "cityName";
this.ddlcity.DataValueField = "cityID";
this.ddlcity.DataBind();
sdr1.Close();
con.Close();
}
}
protected void ddlprovince_SelectedIndexChanged(object sender, EventArgs e)
{
string proID = this.ddlprovince.SelectedValue;
SqlConnection con = new SqlConnection("server=.;database=dropDownTest;integrated security=true;");
con.Open();
SqlCommand cmd = new SqlCommand("select*from city where proID=" + proID, con);
SqlDataReader sdr= cmd.ExecuteReader();
this.ddlcity.DataSource = sdr;
this.ddlcity.DataTextField = "cityName";
this.ddlcity.DataValueField = "cityID";
this.ddlcity.DataBind();
sdr.Close();
con.Close(); }
}
ddlprovince 为省 dropdownlist IDddlcity 为市 dropdownlist IDproName proID为表provience中的字段 也就是省的cityName cityID为市city表中的字段 是市的
ddlprovince_SelectedIndexChanged为省的dropdownlist 选中事件 触发绑定 数据库 Demo 完整