日期:2014-05-18  浏览次数:20484 次

repeater控件显示帖子用户头像遇到的一个问题?
<asp:Image   id= "Img_face "   runat= "server "   Width= "100px "   Height= "100px "> </asp:Image> <br   />
用户名: <asp:HyperLink   ID= "Hy_Rname "   runat= "server "> <%#DataBinder.Eval(Container.DataItem,   "Reply_user ")%> </asp:HyperLink> <br   />

img_face   从数据库读图片地址,进行显示。现在想做如果没有设置头像地址就显示一个默认的头像。

因为我是用一个数据控件databind数据来显示的(似乎不能在后台处理),使用不知道代码该怎么写?




------解决方案--------------------
这样, 你在绑定的时候先判断 头像那个字段是否有值,若无,则给一个默认图片的地址

see:

假如你用于绑定的是一个DataTable


for(int i=0;i <Dt.Rows.Count;i++)
{
if(Convert.ToString(Dt.Rows[i][ "yourImageUrl "]) == " ")
{
Dt.Rows[i][ "yourImageUrl "] = "/images/default.jpg ";
}
}

然后再绑定到Repeater上

Repeater1.DataSource = Dt;
Repeater1.DataBind();
------解决方案--------------------
大多在ItemDataBound事件中处理
------解决方案--------------------
<asp:Image id= "Img_face " runat= "server " Width= "100px " Height= "100px "> </asp:Image> <
这里就有错src= " "????都没有。。。
if(dt.Rows[0][ "img "]!=null)
{
src= "XX.gif ";
}
else
{
src= "YY.gif ";
}
------解决方案--------------------
protected repeater_itemdatabound(object sender,RepeaterDateItemArges e)
{
DataRowView item=(DataRowView)e.Item;
Img_face.src=item[ "img "];
}

大概是这样。。