2009-03-03 3 views
2

서버 쪽에서 채워지는 DropDownList 컨트롤이 있습니다.asp.net - ListItem 텍스트 속성에서 html 태그를 렌더링하는 방법?

I 각 [DataRow를] 루프를 사용하여 DataRow를 새을 ListItem

를 작성은 ID '제목'과 열이고; 이 필드에는 < B> 또는 < I> 태그가 포함될 수 있습니다. (예. "<에서 [제목] I> [부모 제목] </I>") 나는 [DropDownList로] .Controls.Add가 ([을 ListItem])는 문자 그대로 텍스트를 렌더링 할 때

내가 직면하고 문제는 ... 따라서 < B> 또는 < I> 태그가 그대로 표시되며 글꼴은 굵게/기울임 꼴로 표시되지 않습니다.

나는 온갖 대답을 찾아 보았습니다. 누군가 올바른 방향으로 나를 가르쳐 주시겠습니까?

답변

4

DropDownList 컨트롤은 hhtml 코드에서 select 요소로 렌더링되고 ListItem 컨트롤은 option 요소로 렌더링됩니다. option 요소는 텍스트의 html 형식을 지원하지 않습니다. 일부 브라우저는 전체 option 텍스트의 일부 스타일을 지원하지만 일부 브라우저에서는 텍스트의 일부 스타일링을 지원하지 않습니다.

드롭 다운 목록에서 html 서식이 필요한 경우 DHTML을 사용하여 자신 만의 대체 드롭 다운 목록 컨트롤을 만들거나 이미 완료 한 사람을 찾아야합니다.

2

각 목록 항목에 스타일 속성을 추가 할 수는 있지만 여러 브라우저에서 얼마나 보편적으로 지원되는지 잘 모르겠습니다.

ListItem li = new ListItem(dr["Name"], dr["Course"]); 
if (bold) li.Attributes.Add("style", "font-weight:bold"); 
listcontrol.Items.Add(li); 

다시 읽는 당신이 목록에서 단일 항목 내에서 정상 및 굵은 텍스트를 혼합 할주의 질문을. 표준 드롭 다운 목록을 사용하여 지원되지 않는다는 것이 거의 확실합니다. 드롭 다운 목록을 시뮬레이트하는 CSS 기반 컨트롤을 사용하는 방법을 살펴볼 필요가 있다고 생각합니다.

+0

은 내가 Text 속성의 내부 HTML 태그 글꼴 서식 지정에 대한 걱정 말, *를 포맷하지 전체 * ListItem. 나중에 응답하기 전에 더 자세히 읽으십시오. –

+1

Duly 지적했다. 앞으로 내가 다시 너를 도우려고한다면, 나는 더 신중하게 읽을 것입니다. –

+0

업데이트 해 주셔서 감사합니다. Mike; 나는 두려웠다.:( 간단한 테스트를 작동하지 않았다 –

0

굵게 기울임 꼴 서식을 지정해야하는 경우 .net Literal 컨트롤을 사용하여 드롭 다운 목록의 자리 표시 자로 사용하는 것이 좋습니다. 그런 다음 다시 게시 또는 데이터 바인딩시 결과 집합을 반복하고 HTML 코드를 수동으로 생성 한 다음 (복잡한 것은 아니기 때문에) 생성 된 HTML을 리터럴 컨트롤에 삽입 할 수 있습니다.

+0

자신을 확인 : 덕분입니다 :) –

+0

목록의 많은 ListItems에 대한 CSS 스타일 시트/코드를 사용하여 시도하지만 시도하십시오. 슬프게도, 내가 본 내용 중 대부분은 사용자가 전체 항목에만 적용 할 수 있으며 IE에서는 작동하지 않는다는 것을 나타냅니다. –

0

실제로 이것은 불가능합니다.

드롭 다운 목록처럼 정확하게 작동하지 않기 때문에 몇 가지 사소한 단점이 있지만 몇 가지 대안이 있습니다. 대부분의 솔루션에서는 몇 가지 문자를 입력하는 대신 마우스로 옵션을 선택할 수 있습니다. 물론이 동작을 프로그래밍 할 수는 있지만 시간과 노력이 필요합니다. 내가 찾은

대안은 : 당신이 내 질문을 읽으면

jquery solution from marghoob suleman

jquery solution from sanchez salvador

관련 문제