主题:  请教一个页面按条件显示问题。

Lukiya

职务:普通成员
等级:1
金币:0.0
发贴:59
#12004/11/18 15:34:38
数据库Song表里有个字段叫isGood,代表是否是推荐歌曲。

以前在ASP里只要
<%
if rs("isGood")=true then
  Response.Write("歌曲名 <img src='images/good.gif' /> ")
else
  Response.Write("歌曲名")
end if
%>


就能搞定显示出一个表示推荐的图标。

在ASP.Net里怎么办呢?代码都在后台,用的又是DataGrid,虽然也可以在aspx页面里加类似语句,但是这不就违反了CodeBehind的初衷了么?

有什么方法才能解决呢?



缺缺

职务:管理员
等级:8
金币:41.0
发贴:9620
#22004/11/18 15:52:03
用Image控件
在DataList的ItemDataBound事件中判断控件的Visible属性



Lukiya

职务:普通成员
等级:1
金币:0.0
发贴:59
#32004/11/18 16:20:55
哦??这样!!!尝试去了,谢谢。



Lukiya

职务:普通成员
等级:1
金币:0.0
发贴:59
#42004/11/18 16:54:53
private void DataGrid_Song_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
{
DataRowView drv = (DataRowView)(e.Item.DataItem);
bool bIsGood = bool.Parse(drv.Row["isGood"].ToString());
if (bIsGood)
{
ImgIsGood.Visible = true;
}
}
郁闷,提示bool bIsGood = bool.Parse(drv.Row["isGood"].ToString());未对象化到实例。怎么回事呢?明明绑定的数据表里有这个字段。



缺缺

职务:管理员
等级:8
金币:41.0
发贴:9620
#52004/11/18 17:05:51
把ImgIsGood放在DataGind里面
然后用FindControl找到这个控件

Image ImgIsGood = (Image)e.Items.FindControl("ImgIsGood")



Lukiya

职务:普通成员
等级:1
金币:0.0
发贴:59
#62004/11/18 17:27:26
ImgIsGood本来就是放在DataGrid里面的。

我用你那条语句时提示 “Image是不明确的引用”