我有一个下拉列表,但缺少结束选项标签。这会导致站点无法通过针对 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>
我都试过了HtmlSelect
和DropDownList
。我已经尝试添加ListItem
和数据绑定以填充它,但我每次都得到相同的 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();
浏览器文件:
表单浏览器
<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>