Web页面报错: Eval()、XPath() 和 Bind() 这类数据绑定方法只能在数据绑定控件

如何实现asp.net中dropdownlist1 取数据库中值,作为另一个dropdownlist2在数据库中取值的条件,并把值写入到其它数据表里。

在VS2005里直接做绑定是出现:"Eval()、XPath() 和 Bind() 这类数据绑定方法只能在数据绑定控件的上下文中使用"错误。
在网上查到说: 有容器SelectedValue='<%# DataBinder.Eval(Container.DataItem,"")%>' ,没有容器则可直接使用Eval。

修改dropdownlist1的 SelectedValue='<%# DataBinder.Eval(Container.DataItem,"device_type")%>' 时提示无效值。

 

为什么。

慕丝7291255
浏览 637回答 2
2回答

holdtom

选择条件(要查询的姓名):<asp:DropDownList ID="DdlSelectWhere" runat="server" AutoPostBack="true"     onselectedindexchanged="DdlSelectWhere_SelectedIndexChanged">    <asp:ListItem Text="姓名A" Value="NameA"></asp:ListItem>    <asp:ListItem Text="姓名B" Value="NameB"></asp:ListItem></asp:DropDownList> 查询出来的结果:<asp:DropDownList ID="DdlSelectNames" runat="server" DataTextField="Name" DataValueField="ID"></asp:DropDownList> 后台绑定:  protected void DdlSelectWhere_SelectedIndexChanged(object sender, EventArgs e) {     DataTable dtTemp = DbOperator.GetDt("Select ID,Name From TableA Where Name='"+DdlSelectWhere.SelectedValue+"'");//根据条件获取数据,使用你的方式查找,只是举例。     DdlSelectNames.DataSource = dtTemp;     DdlSelectNames.DataBind(); }

慕雪6442864

修改dropdownlist1的 SelectedValue='<%# DataBinder.Eval(Container.DataItem,"device_type")%>' 时提示无效值。   为什么。 答:因为dropdownlist1绑定的数据中,没有你要选中的值,或者有这个值,但是在你绑定的时候还没有取到这些值,我之前遇到过这样的问题。 你可以在后台中使用上面Astar提供方式绑定数据。  
打开App,查看更多内容
随时随地看视频慕课网APP