vs2008如何实现asp.net中,两个dropdownlist,当第一个改变时,第二个动态绑定

vs2008直接在aspx前端页面绑定了第一个dropdownlist的数据,生成代码如下<asp:DropDownListID="ddlGrade"runat="ser... vs2008直接在aspx前端页面绑定了第一个dropdownlist的数据,生成代码如下

<asp:DropDownList ID="ddlGrade" runat="server" AutoPostBack="True"
DataSourceID="SqlDataSource1" DataTextField="GradeName"
DataValueField="GradeID"
onselectedindexchanged="ddlGrade_SelectedIndexChanged">
</asp:DropDownList>
<asp:SqlDataSource ID="SqlDataSource1" runat="server"
ConnectionString="<%$ ConnectionStrings:RDFZ_MedicConnectionString %>"
SelectCommand="SELECT [GradeID], [GradeName] FROM [T_Grade] ORDER BY [ID]">
</asp:SqlDataSource>

第二个数据的sql语句需要将第一个dropdownlist的值作为变量,所以使用自动生成数据绑定的方式无法实现,采用固定值后生成代码如下
<asp:DropDownList ID="ddlClass" runat="server" AutoPostBack="True"
DataSourceID="SqlDataSource2" DataTextField="ClassName"
DataValueField="ClassID">
</asp:DropDownList>
<asp:SqlDataSource ID="SqlDataSource2" runat="server"
ConnectionString="<%$ ConnectionStrings:RDFZ_MedicConnectionString2 %>"
SelectCommand="SELECT TOP (SELECT ClassCnt FROM T_Grade WHERE (GradeID = 'G2011' ClassID, ClassName FROM T_Class ORDER BY ID">
</asp:SqlDataSource>

即怎么实现把上面第二个dropdownlist里面sql语句中的'G2011'替换为this.ddlGrade.SelectedValue
最后那个sql语句粘贴的时候写错了,应该是SELECT TOP (SELECT ClassCnt FROM T_Grade WHERE GradeID = 'G2011') ClassID, ClassName FROM T_Class ORDER BY ID
展开
 我来答
沃客吧
2012-04-24 · TA获得超过521个赞
知道小有建树答主
回答量:627
采纳率:0%
帮助的人:283万
展开全部
当第一个dropdownlist触发选择事件时,在后台更改sqldatasource2的SelectCommand字符串即可,此时你可以把ddlGrade.SelectedValue拼接到"SELECT TOP (SELECT ClassCnt FROM T_Grade WHERE GradeID = '"+ddlGrade.SelectedValue+"') ClassID, ClassName FROM T_Class ORDER BY ID",然后刷新数据源,重新绑定数据即可。
wjw1230
2012-04-24
知道答主
回答量:55
采纳率:0%
帮助的人:10.8万
展开全部
不理解你为什么要这么写。 还是后台写代码把。这样写的话真不如用Ajax 。还用什么服务器控件啊,直接html控件+ ja + WebService 得了。
追问
不是我刻意这么写,是想尝试用vs2008的数据绑定工具,最后还是用后台代码的方式搞定了
追答
呵呵。 估计vs的数据绑定工具就是微软没事弄着玩的。 从来没见人这么用过..
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zhao456tong
2012-04-24
知道答主
回答量:18
采纳率:0%
帮助的人:7.1万
展开全部
dropdownlist 有一个出发时间 在选中后会触发,当触发后把这个查询出的数值放到第二里面就好了
追问
那样的话我需要手动写第二个ddl的绑定函数,然后在第一个ddl的selectedindexchanged事件中调用第二个ddl的绑定函数,是这样的吗?因为我直接使用vs2008的窗口方式绑定的数据,因此就没有在后端生成.cs代码,而是直接生成在了.aspx中
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ygxdsg119
2012-04-25
知道答主
回答量:11
采纳率:0%
帮助的人:6.9万
展开全部
很久没有用服务器端控件了, 尤其是SqlDataSource这种持久化的东西~全忘了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式