怎么用c#写二级联动? 要求dropdownlist绑定两个表格的。

产品大类表classtab,字段id,class。产品小类表xtype,字段xtypeid,xtype,cid。cid是对应classtab表的id。产品大款式表styl... 产品大类表classtab,字段id,class。
产品小类表xtype,字段xtypeid,xtype,cid。cid是对应classtab表的id。

产品大款式表styletab,字段id,style。
产品小款式表xstyle,字段xstyleid,xstyle,sid。sid是对应styletab表的id。

前台是这样的:

dropdownlist1的ID为classTab,dropdownlist2的ID为xtype。

还有个Button用来提交的,ID为btnsubmit。

dropdownlist3的ID为styleTab, dropdownlist4的ID为style。

怎么写这个联动? 调试可以的话分数可以追加!
急等。。。
请不要用JavaScript和Ajax,我没装Ajax控件,而且我的是.net2.0。
我要c#代码。JavaScript是无刷新的。而且看我的题目再答题谢谢。不要搬来一个例子,然后让我改。
有的例子的类还是自己定义好的,这叫我怎么写?
展开
 我来答
benguahao
2010-07-10 · TA获得超过280个赞
知道小有建树答主
回答量:328
采纳率:0%
帮助的人:185万
展开全部
这个设置大类表的dropdownlist的回传属性为真,先绑定这个下拉列表,然后在Tab的Selectedchange事件里根据Tab的选中值去绑定小表的下拉框.这个不需要类啊,只需要数据库的操作

给你一个例子吧,刚写的

前台

<div style="margin: 5px auto; width: 90%; vertical-align: middle;">
<table>
<tr>
<td>
表分类选择   <asp:DropDownList runat="server" ID="ddlTabCategory" AutoPostBack="True" OnSelectedIndexChanged="ddlTabCategory_SelectedIndexChanged">
</asp:DropDownList></td>
<td>
 
具体表选择
<asp:DropDownList runat="server" ID="ddlTabDetail" AutoPostBack="True" OnSelectedIndexChanged="ddlTabDetail_SelectedIndexChanged">
</asp:DropDownList></td>
</tr>
</table>
</div>

后台

protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
ddlBind(this.ddlTabCategory, TableCategoryInfo.getCategoryInfo(), "TableCategoryName", "TableCategoryId");
}

}

#region 绑定表分类信息和具体表名称
//绑定分类
protected void ddlTabCategory_SelectedIndexChanged(object sender, EventArgs e)
{
ddlBind(this.ddlTabDetail, TableDetailInfo.getDetailsByCategoryId(this.ddlTabCategory.SelectedValue), "TableName", "TableDetailId");
}

/// <summary>
/// 绑定下拉列表
/// </summary>
private static void ddlBind(object sender, DataTable dt, string name, string id)
{
DropDownList ddl = sender as DropDownList;
ddl.DataTextField = name;
ddl.DataValueField = id;
DataRow newrow = dt.NewRow();
newrow[name] = "请选择一项";
newrow[id] = 0;
dt.Rows.InsertAt(newrow, 0);
ddl.DataSource = dt;
ddl.DataBind();
}
#endregion

ddlBind方法的第二个参数就是你去数据库里取得的结果,我这个是三层架构的,你看你自己的项目进行处理,传进去参数
zhaodekey
2010-07-09
知道答主
回答量:27
采纳率:0%
帮助的人:0
展开全部
<select id="dept_lv" onchange="changeLv()"><option selected>---请选择---</option></select>
<select id="dept_pre"><option selected>---请选择---</option>
</select>

2个select
<script type="text/javascript">
window.onload=function()
{
var listcode = new Array();
listcode="从后台调用得到的一个数组,我是用AJAX.DLL"
var len = list.length;
var b = document.getElementById("dept_lv");
for(i=0;i<len;i++)
{
b.options.add(new Option(listcode[i],listcode[i]));
}
}
function changeLv()
{
var listcode = new Array();
var b = document.getElementById("dept_pre");
var lv = document.getElementById("dept_lv").value;//获得第一个select选择的值
list = "后台得到数组";//通过lv这个条件得到的。

var len = list.length;

b.length = 1;//让select保留第一个option

for(i=0;i<len;i++)
{
b.options.add(new Option(list[i],list[i]));
}
}
</script>
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
7372735
2010-07-09
知道答主
回答量:18
采纳率:0%
帮助的人:12.2万
展开全部
这个你得写事件监听.选中表格 加载第二表格相应数据.
代码自己写.写不出问周围的人,这样深刻.我们写了也没意义
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
sdwffzlll
2010-07-10 · TA获得超过758个赞
知道小有建树答主
回答量:498
采纳率:85%
帮助的人:241万
展开全部
用classTab的SelectedIndexChanged事件来关联stype就可以了,关联时把classTab的AutoPostBack属性设置为true.
在方法SelectedIndexChanged中实现的主要功能为:
将选订项的id绑定到xtype上。
主要Sql语句是"select * from xtype where cid=@cid"
其中@cid是classTab选中项的id.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式