在我的一个基于ASP.Net和Sitecore CMS的页面中,我正在使用CheckBoxList控件但不知何故它没有在HTML中输出标签。
<asp:CheckBoxList runat="server" ID="chkListBrochure" CssClass="checkbox_single" />
在Code back file中我正在加载列表:
foreach (var item in itemList)
{
var newListItem = new ListItem(item.Title, item.Code);
newListItem.Selected = item.Selected;
chkListBrochure.Items.Add(newListItem);
}
当我在浏览器中查看代码时,它显示为
<div id="body_0_content_0_content_1_chkListBrochure" class="checkbox_single">
<input id="body_0_content_0_content_1_chkListBrochure_0" class="" type="checkbox"
name="body_0$content_0$content_1$chkListBrochure$0">
<input id="body_0_content_0_content_1_chkListBrochure_1" class="" type="checkbox"
checked="checked" name="body_0$content_0$content_1$chkListBrochure$1">
<input id="body_0_content_0_content_1_chkListBrochure_2" class="" type="checkbox"
name="body_0$content_0$content_1$chkListBrochure$2">
<input id="body_0_content_0_content_1_chkListBrochure_3" class="" type="checkbox"
checked="checked" name="body_0$content_0$content_1$chkListBrochure$3">
<input id="body_0_content_0_content_1_chkListBrochure_4" class="" type="checkbox"
name="body_0$content_0$content_1$chkListBrochure$4">
<input id="body_0_content_0_content_1_chkListBrochure_5" class="" type="checkbox"
checked="checked" name="body_0$content_0$content_1$chkListBrochure$5">
</div>
如果我在非基于Sitecore的项目中复制此代码,它可以正常工作。有没有人遇到过这个问题?有什么建议吗?
由于
NAS
答案 0 :(得分:1)
对于它的价值,CheckBoxList在我的Sitecore 6.5盒子上渲染得很好。
CheckBoxList的输出不是标准输出。默认的asp:CheckBoxList
控件会在table
而不是div
中呈现复选框。即使您更改了RepeatLayout="Flow"
代码上的<ASP:CheckBoxList
,您仍然无法获得div
;在我的测试中,我得到了span
。
我想你有一个控制适配器,或其他东西,修改输出。
答案 1 :(得分:0)
ListItem
中有一个System.Web.UI.WebControls
控件,但ListItem
中还有一个名为Sitecore.Web.UI.HtmlControls
的Sitecore控件。你的代码中是否会混淆你所指的是哪一个?