我正在使用代码隐藏文件来生成一个Bootstrap Accordion,其中包含从SQL语句中提取的一些数据。
Accordion并非默认全部关闭,但如果我点击每个标题,那么它们会关闭并打开它们应该的状态。查看生成的源代码,我可以看到代码隐藏正在添加一个不合需要的<span>
标记,我认为这可能是问题的一部分。
Partial Codebehind(这是我开始构建<div>
)
lblGenericFundBuild.Text = "<div class=\"panel-group\" id=\"accordion\">";
foreach (DataRow PortfolioLineUpDetail in PortfolioLineUp.Rows) {
lblGenericFundBuild.Text += "<div class=\"panel panel-info\">";
lblGenericFundBuild.Text += "<div class=\"panel-heading\">";
lblGenericFundBuild.Text += "<h4 class=\"panel-title\">";
lblGenericFundBuild.Text += "<a data-toggle=\"collapse\" data-parent=\"#accordion\" href=\"#collapse" + idDiv.ToString() + "\">" + PortfolioLineUpDetail.Field<Double>("AllocationPercent").ToString() + "% - " + PortfolioLineUpDetail.Field<String>("AssetClassName") + "</a>";
lblGenericFundBuild.Text += "</h4>";
lblGenericFundBuild.Text += "</div>";
生成的源截图。您可以使用我的asp的id来查看跨度:内容名称和标签名称。
如何阻止这种情况发生!?
答案 0 :(得分:4)
服务器控件asp:Label
将始终添加<span>
标记。
如果您不想这样,请使用asp:Literal
控件。
答案 1 :(得分:1)
您可以使用PlaceHolder
代替Label
来拥有一个ASP控件,该控件实际上不会将自己的元素添加到页面中,但可以在服务器上添加子元素。