2008-10-07 2 views
1

& nbsp; 또는 ´ listitem의 텍스트 값에 결과 (공백 또는 é) 대신 HTML 엔터티의 코드를 표시합니다.드롭 다운리스트에 HTML 코드와 엔터티를 표시하지 마십시오

"물리적 인"비 분리 공백이나 특수 문자를 추가 할 수 있지만 가능한 경우이를 피하고 싶습니다. 때로는 데이터베이스에 저장된 데이터가 인코딩되어 있으므로 데이터를 표시하기 전에 항상 데이터를 처리하고 싶지는 않습니다.

모든 솔루션?

감사

편집 주 : 이전 설명이 트 리뷰를 시뮬레이션 드롭 다운리스트에 있었다 언급하지만 단지 예였다 드롭 다운 목록을 다른 것으로 바꾸고 싶지는 않을 수도 있습니다.

답변

6

ListItem은 자동으로 HtmlEncoded됩니다.

당신은 손 전에 목록 항목을 HtmlDecode 수 있습니다, 그래서 그들은이 HtmlEncoded 때 당신은 적절한 문자 수 :

DropDownList1.DataSource = new List<string> { Server.HtmlDecode("A&hellip;"), Server.HtmlDecode("B&nbsp;C") }; 
DropDownList1.DataBind(); 
0

표준 드롭 다운 목록은 트리보기를 표현할 때 매우 열악합니다.

최상위 레벨을 선택할 수없는 경우 해당 레벨을 처리 할 수 ​​있지만 (자세한 내용은 optgroup 요소 [1] 참조) 필요 이상으로 중첩이 많은 일반 목록 (순서가 지정되거나 정렬되지 않음) 하위 목록이 상위 목록의 목록 항목에 있음을 기억하고 선택 가능한 각 목록 항목과 함께 확인란 또는 라디오 버튼 포함).

원하는 경우 드롭 다운 효과를 만들기 위해 일부 JavaScript를 추가하여 클래스를 조작 할 수 있습니다.

[1] Optgroup은 더 깊어 질 수 있어야하지만, IIRC는 브라우저 지원이 좋지 않습니다.

1

<optgroup> 태그는 계층 적 (즉, 트리 같은) 드롭 다운 메뉴에 사용할 수 있습니다.

<select> 
    <optgroup label="Parent 1"> 
     <option>Child 1.1</option> 
     <option>Child 1.2</option> 
    </optgroup> 
    <optgroup label="Parent 2"> 
     <option>Child 2.1</option> 
     <option>Child 2.2</option> 
    </optgroup> 
</select> 
0

ul (ol)으로 시도하고 CSS로 재생 해보세요. 요구 사항이 충족되면 jquery를 사용하여 스타일을 변경할 수 있습니다 (li 속성은 value 속성을 가짐)

0

질문에 설명 된 문제는 내가 ASP의 현재 버전을 사용하여 무엇을보고 있지 않습니다. NET - 시도 할 때 다음 두 &ndash;이 올바르게 렌더링됩니다.

<asp:RadioButtonList ID="Visibility" runat="server"> 
     <asp:ListItem Value="public" Text="Public &ndash; All users"></asp:ListItem> 
     <asp:ListItem Value="private">Private &ndash; Only you</asp:ListItem> 
    </asp:RadioButtonList> 
관련 문제