2012-04-13 2 views
0

드롭 다운 목록이 있지만 닫는 옵션 태그가 없습니다. 이 XHTML 1.1누락 된 마감 옵션 태그 드롭 다운

에 대해 W3C 유효성 검사를 실패 사이트의 원인이 내 HTML입니다 :이 기대

<select> 
    <option value="">Select... 
    <option value="val1">Value One 
    <option value="val2">Value Two 
</select> 

가 :

<select> 
    <option value="">Select...</option> 
    <option value="val1">Value One</option> 
    <option value="val2">Value Two</option> 
</select> 

내가 HtmlSelectDropDownList 모두 노력했다. 나는 그것을 채우기 위해 ListItem과 databinding을 추가하려했지만 매번 같은 HTML을 얻는다.

어떤 원인 일 수 있습니까?

편집 내가 .NET 3.5을 사용하고

이 사이트는 Sitecore 사이트입니다.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> 

같이 채우기 :

HtmlSelect dropdown = new HtmlSelect(); 
dropdown.ID = _Data.ControlID; 

List<DataCollectionItem> lisItemCollection = new List<DataCollectionItem>(); 

foreach (DataCollectionItem item in lisItemCollection) 
    dropdown.Items.Add(new ListItem(item.Text, item.Value)); 

도이를 시도, 같은 결과에 :

dropdown.DataSource = lisItemCollection; 
dropdown.DataTextField = "Text"; 
dropdown.DataValueField = "Value"; 
dropdown.DataBind(); 

브라우저 파일 :

내 문서 타입 선언입니다

F orm.browser

<browsers> 
    <browser refID="Default"> 
    <controlAdapters> 
     <adapter controlType="System.Web.UI.HtmlControls.HtmlForm" adapterType="Sitecore.Web.FormAdapter, Sitecore.Kernel" /> 
    </controlAdapters> 
    </browser> 
</browsers> 

w3cValidator.browser는

<browsers> 
    <!-- Browser capability file for the w3c validator 
     sample UA: "W3C_Validator/1.305.2.148 libwww-perl/5.803" 
    --> 
    <browser id="w3cValidator" parentID="default"> 
    <identification> 
     <userAgent match="^W3C_Validator" /> 
    </identification> 

    <capture> 
     <userAgent match="^W3C_Validator/(?'version'(?'major'\d+)(?'minor'\.\d+)\w*).*" /> 
    </capture> 

    <capabilities> 
     <capability name="browser" value="w3cValidator" /> 
     <capability name="majorversion" value="${major}" /> 
     <capability name="minorversion" value="${minor}" /> 
     <capability name="version" value="${version}" /> 
     <capability name="w3cdomversion" value="1.0" /> 
     <capability name="xml" value="true" /> 
     <capability name="tagWriter" value="System.Web.UI.HtmlTextWriter" /> 
    </capabilities> 
    </browser> 
</browsers> 
+6

마크 업을 생성하는 데 사용하는 코드를 게시 할 수 있습니까? – Craig

+1

내 생각 엔 (아주) 오래된 버전의 ASP.NET을 사용하고 계시다고 생각합니다. 어떤 버전입니까? – Domenic

+1

응용 프로그램의 App_Browsers 폴더를 보셨습니까? DDL과 HtmlSelect를 오버라이드하는 커스텀 어댑터를 선언하는 .browser 파일이있을 수 있습니다. – jbl

답변

0

이 문제가 인해 HTML 민첩성 팩에 있었다 밝혀졌습니다.

HtmlNode.ElementsFlags.Remove("option"); 

자세한 내용은 this question을 참조하십시오.