데이터베이스에서 데이터 바인딩 된 C#의 확인란 상자가 있습니다. 내가하고 싶은 일은 각 체크 박스 목록 항목의 텍스트 오른쪽에 아이콘을 표시하는 것입니다. 그래도 각 아이콘은 달라야합니다. 당신의 도움을 주셔서 감사합니다!CheckBoxList 문제
2
A
답변
1
당신은 우리는 매우 유사한 접근 방식을 사용했습니다이
<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";
...
...
}
1
같은 일을하지만, 여러 페이지에 구현을 단순화하기 위해 개체 모델에 코드를 이동 할 수있다.
읽기 전용 오브젝트 코드의 특성 (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"
0
당신은에 CSS 클래스를 적용 할 수 있습니다 각 데이터 바운드 체크 박스 및 CSS로 아이콘 표시
어떤 도움이됩니까? 귀하의 질문에서 읽을 수있는 것은 귀하가 그것을 어떻게 표시하고 싶은지입니다. – Shoban