我正在使用gridview,並使用gridview中的boundfield將數據從數據庫顯示到它中。ASP.NET Gridvgiew。交換圖像的字符串
gridview中的2列僅顯示YES或NO值。我想將YES或NO換成綠色刻度圖片或紅色X圖片......任何人都可以幫我解決這個問題,或者指點我一個類似的解決方案。我使用C#
我正在使用gridview,並使用gridview中的boundfield將數據從數據庫顯示到它中。ASP.NET Gridvgiew。交換圖像的字符串
gridview中的2列僅顯示YES或NO值。我想將YES或NO換成綠色刻度圖片或紅色X圖片......任何人都可以幫我解決這個問題,或者指點我一個類似的解決方案。我使用C#
代碼用於aspx頁面:
<asp:TemplateField HeaderText="Image">
<HeaderStyle BackColor="#FFD653" Width="10%" HorizontalAlign="Center" />
<ItemTemplate>
<img src='<%#GetImagePath(Eval("databasecolumnvalue").ToString())%>'/>
</ItemTemplate>
<ItemStyle HorizontalAlign="Center" />
</asp:TemplateField>
代碼作爲CS文件中使用
public void GetImagePath(object value)
{
if(!string.IsNullOrEmpty(Convert.ToString(value)))
{
if(Convert.ToString(value)=="Yes")
return "yes image url";
else if(Convert.ToString(value)=="No")
return "no image url";
}
}
讓在後面代碼中的公共職能,這應該是接受字符串類型的參數,並使用公共職能設計/ .aspx頁上,並在公共功能檢查,如果它是然後返回
<img src='path of your Green tick image' />
否則返回
<img src='path of your red X image' />
但你將無法使用上綁定字段這個公共功能...你將不得不使用模板字段爲
我們ËTemplateFields來填充gridview
凡領域你有是,沒有值,通過<%# Eval("YourValue") %>
於返回圖像的,你需要使用
如
public static string GetImage(string value)
{
var str = "default image url";
if(!string.IsNullOrEmpty(value))
{
if(value=="Yes")
str = "yes image url";
else if(value=="No")
str = "no image url";
}
return str;
}
路徑的方法
你也可以試試這個
<asp:TemplateField>
<ItemTemplate>
<%= Eval("Field") == "Yes" ? "<img src='tick.png' />" : "<img src='cross.png' />" %>
</ItemTemplate>
</asp:TemplateField>
你可以有帶有runat =「server」屬性的圖像,並在你的改變src隱藏代碼,在RowDataBound事件中。
例如:
<ItemTemplate><img id="theImage" runat="server" /></ItemTemplate>
而在後臺代碼:
Control ctl = e.Row.Cells[0].FindControl("theImage");
HtmlControl htmlCtl = ctl as HtmlControl;
if (htmlCtl != null)
{
String image = ((DataRowView)e.Row.DataItem)[0] as String == "YES" ? "images/accept.png" : "images/cancel.png";
htmlCtl.Attributes["src"] = image;
}
,你渲染YES和NO請張貼的代碼。答案取決於你是如何做到的。 – oleksii 2012-07-24 09:12:10