我的字段状态有三个值: 0 peding 1接受 2拒绝
我想在网格视图中添加它,但是使用图像而不是数字:
if 0 select.png
if 1 ok.png
if 2 no.png
我试过这段代码,但没看到图片:
<asp:Image ID="Image1" runat="server" ImageUrl='~/img/<%# (Eval("id") == "1") ? "ok.png" : "" ; %>'></asp:Image>
我该怎么办?以及如何添加三个条件?
答案 0 :(得分:0)
我认为您可以将图片名称更改为“0.png”,“1. png”和“2.png”等等,因此您可以轻松绑定值,就像
一样ImageUrl='~/img/<%# (Eval("id") + ".png")
答案 1 :(得分:0)
您可以通过两种不同的方式执行此操作: -
第一道: -
使用TemplateColumn而不是绑定列,并在其中包含<asp:image>
控件。然后将OnRowDataBound事件添加到Grid。
然后根据您的if语句附上您的图片。
GridView_RowDataBound
事件
if (e.Row.RowType == DataControlRowType.DataRow)
{
Image i = (Image)e.Row.FindControl("image");
//include your if statement here, and set ImageUrl
i.ImageUrl = "select.png";
}
第二种方式 在模板列下的GridView中添加ImageField
<asp:Image HeaderText='Status'
ImageUrl='<%# ImageDisplay(Eval("Status").ToString()) %>' />
然后您需要在代码隐藏中使用以下方法:
protected string ImageDisplay(string status)
{
///write you if condition and return image path url
//return "~\select.png";
}