我在C#中有一个清单,它是从数据库绑定的。我想要做的是在每个checkboxlist项的文本之后在右侧显示一个图标。不过,每个图标都需要不同。谢谢你的帮忙!
发布于 2011-02-24 09:36:15
你可以这样做
<asp:CheckBoxList ID="CheckBoxList1" runat="server"
DataSourceID="dataSourceID"
DataTextField="dataTextField"
DataValueField="dataTextValue"
OnDataBound="CheckBoxList1_DataBound">
</asp:CheckBoxList>
protected void CheckBoxList1_DataBound(object sender, EventArgs e)
{
var checkBox = sender as CheckBoxList;
if(checkBox != null)
{
foreach (ListItem listItem in checkBox.Items)
{
listItem.Text = string.Format("{0}<img src='{1}' />", listItem.Text, GetImageFor(listItem.Text));
}
}
}
private string GetImageFor(string text)
{
// return image url for check box based on text.
if(text.Equals("Banana")) return "banana.gif";
...
...
}发布于 2011-10-27 23:52:24
我们使用了一种非常类似的方法,但将代码移动到对象模型,以简化多个页面上的实现。
对象代码(C#)中的只读属性:
public string chk_item_html { get { return item_name + string.Format("<img src='item{0}.png' />", item_id); } }然后在asp:CheckBoxList中,您只需设置DataTextField = "chk_item_html“
发布于 2011-10-27 23:55:09
可以将css类应用于每个数据绑定复选框并显示带有CSS的图标
https://stackoverflow.com/questions/5099322
复制相似问题