0

ドロップダウンリストがありますが、終了オプションタグがありません。これにより、サイトはXHTML1.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とデータバインディングを試しましたが、毎回同じHTMLを取得します。

これを引き起こしている可能性のあるアイデアはありますか?

編集

.NET 3.5を使用していますが、このサイトはSitecoreサイトです。

これは私のDoctype宣言です:

<!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();

ブラウザファイル:

Form.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>
4

1 に答える 1

0

問題はHTMLAgilityパックが原因であることが判明しました。

HtmlNode.ElementsFlags.Remove("option");

詳細については、この質問を参照してください。

于 2012-04-16T09:01:29.260 に答える