为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

慕丝7291255 2018-12-07 07:35:45
如何实现asp.net中dropdownlist1 取数据库中值,作为另一个dropdownlist2在数据库中取值的条件,并把值写入到其它数据表里。 在VS2005里直接做绑定是出现:"Eval()、XPath() 和 Bind() 这类数据绑定方法只能在数据绑定控件的上下文中使用"错误。在网上查到说: 有容器SelectedValue='<%# DataBinder.Eval(Container.DataItem,"")%>' ,没有容器则可直接使用Eval。 修改dropdownlist1的 SelectedValue='<%# DataBinder.Eval(Container.DataItem,"device_type")%>' 时提示无效值。   为什么。
查看完整描述

2 回答

?
holdtom

TA贡献1805条经验 获得超10个赞

选择条件(要查询的姓名):
<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();
 }

查看完整回答
反对 回复 2019-01-21
?
慕雪6442864

TA贡献1812条经验 获得超5个赞

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

 

为什么。

答:因为dropdownlist1绑定的数据中,没有你要选中的值,或者有这个值,但是在你绑定的时候还没有取到这些值,我之前遇到过这样的问题。

你可以在后台中使用上面Astar提供方式绑定数据。

 

查看完整回答
反对 回复 2019-01-21
  • 2 回答
  • 0 关注
  • 636 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信