我用repeater 做了一个留言板,这是前台代码中的一部分.
sex 字段中 显示出来的是 "男"或者"女"
现在我想用图片来代替文字
如果 是 "男" ,就用图片 C:\男.jpg 代替
如果是"女",就用图片 C:\女.jpg 代替
请问应该怎样实现?
<asp:repeater id="Repeater1" runat="server">
<ItemTemplate>
<td>
<%# DataBinder.Eval(Container.DataItem,"sex")%>
</td>
</ItemTemplate>
sex 字段中 显示出来的是 "男"或者"女"
现在我想用图片来代替文字
如果 是 "男" ,就用图片 C:\男.jpg 代替
如果是"女",就用图片 C:\女.jpg 代替
请问应该怎样实现?
<asp:repeater id="Repeater1" runat="server">
<ItemTemplate>
<td>
<%# DataBinder.Eval(Container.DataItem,"sex")%>
</td>
</ItemTemplate>
<ItemTemplate>
<td>
<%# ConvertImg((string)DataBinder.Eval(Container.DataItem,"sex"))%>
</td>
</ItemTemplate>在后台代码中:public string ConvertImg(string str)
{ string url="";
if(str.Trim()=="男"
{
url="<img src='C:\男.jpg'";
}
else
{
url="<img src='C:\女.jpg'";
}
return url;
}
if(str.Trim()=="男")
这一句是不是先要用 SqlDataReader 从数据库中读取数据,再付值给 str 啊.
<%# FmtSex(DataBinder.Eval(Container.DataItem,"sex")) %>
后台代码
<script language="c#" runat="server">
public string FmtSex(object str){
string strTmp=str.ToString();
if(strTmp=="男"){
return "<img src='c:\男.jpg'>";
}
else{
return "<img src='c:\女.jpg'>";
}
}
</script>
<%# DataBinder.Eval(Container.DataItem, "sex").ToString()=="男"?"c:\男.jpg":"c:\女.jpg" %>下面这一段的这一句 img src='c:\男.jpg' 显示:无法识别的转义序列
<script language="c#" runat="server">
public string FmtSex(object str){
string strTmp=str.ToString();
if(strTmp=="男"){
return "<img src='c:\男.jpg'>";
}
else{
return "<img src='c:\女.jpg'>";
}
}
</script>
把"<img src='c:\男.jpg'>"换成"<img src='c:\\男.jpg'>" 后面的单引号是路径,你最好用相对路径,如在当前站点的images下的,可用images/男.jpg
str是不用赋值的,不过在这之前reapeater对象先绑定到数据源,我已经测试过了