使用Eval的if语句出现C#错误

本文关键字:错误 语句 Eval if 使用 | 更新日期: 2023-09-27 18:28:48

当我尝试做下面这样的事情时,我遇到了一个错误,

<% if (Eval("DescriptionShort") == "")
    { %>
    There is no description for this winery
<%}
    { %>
    <%# Eval("DescriptionShort") %>
<%}%>

我得到的错误是,

Eval()、XPath()和Bind()等数据绑定方法只能在数据绑定控件的上下文中使用

我能做这样的事吗?如果不能,我能用这个在代码后面做点什么吗?

SqlDataAdapter adDetail = new SqlDataAdapter("SELECT * FROM TBLWineries WHERE WineryShow = 'True' AND WineryRegionFK =" + Request["WineryRegionID"], conn);
DataSet dsDetail = new DataSet();
adDetail.Fill(dsDetail);

编辑

这是一个DataList,里面有一个表,我需要它来进行页面布局。接下来的两行代码显示了我如何填充DataList,

WineryListDL.DataSource = dsDetail;
WineryListDL.DataBind();

其他地方的人说我可以使用这个,它不会给出错误,也不会显示其他部分!如果"DescriptionShort"存在,它可以正常工作,但如果不存在,我就不会收到文本。

<%# Eval("DescriptionShort") == "" ? "There is no description for this winery" : Eval("DescriptionShort") %>

如果是的话,这是否可行,可能与"DescriptionShort"不为null或"??"有关???

干杯,

迈克。

使用Eval的if语句出现C#错误

您应该完全按照错误所说的操作-使用某种数据绑定控件,例如GridView
例如,将数据集绑定到GridView.DataSource属性,并使用Eval函数为单元格提供值。

看看MSDN的这篇文章"数据绑定表达式概述"
下面是如何将GidView和SqlDataAdapter一起使用的示例:如何在Gridview 中编辑、更新、删除