いくつかのLinkButtonのHorizontalDataListがあります。ボタンは、「COMPLETED」(緑色の画像)または「NOTSTARTED」(灰色の画像)のいずれかになり得るステージを表します。さらに、このような各ボタンには、「STAGE 1」、「STAGE2」などのテキストとステージ番号が含まれている必要があります。
私はいくつかの解決策を見つけましたが、それらのどれも私の要求の両方に答えませんでした-画像とテキスト。
誰かがその問題に関して優れたエレガントな解決策を持っていますか?
これがhtmlコードです:
<asp:DataList ID="dlStatuses" runat="server" RepeatDirection="Horizontal"
onitemdatabound="dlStatuses_ItemDataBound"
onitemcommand="dlStatuses_ItemCommand">
<HeaderTemplate>
<table border="0" cellpadding="0" cellspacing="0">
</HeaderTemplate>
<ItemTemplate>
<asp:LinkButton ID="linkBtnStatuses" runat="server">
<asp:Image ID="linkButtonImage" runat="server" ImageAlign="Middle" BorderStyle="None"/>
</asp:LinkButton>
</ItemTemplate>
</asp:DataList>
と背後にあるコード:
protected void dlStatuses_ItemDataBound(object sender, DataListItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
DataRow row = (e.Item.DataItem as DataRowView).Row;
#region Place Icons
int StatusLevel = int.Parse(row["LevelID"].ToString());
LinkButton lnkButton = (e.Item.FindControl("linkBtnStatuses")) as LinkButton;
Image img = (e.Item.FindControl("linkButtonImage")) as Image;
//lnkButton.Text = " Stage No. " + StatusLevel.ToString();
switch (StatusLevel)
{
case 1:
img.ImageUrl = "~/style/images/Green.png";
break;
case 2:
img.ImageUrl = "~/style/images/Grey.png";
break;
}
}
前もって感謝します