Codebehind正在为html添加一个不受欢迎的<span>标签

时间:2015-10-16 17:48:10

标签: c# html asp.net

我正在使用代码隐藏文件来生成一个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来查看跨度:内容名称和标签名称。

You can see the span

如何阻止这种情况发生!?

2 个答案:

答案 0 :(得分:4)

服务器控件asp:Label将始终添加<span>标记。

如果您不想这样,请使用asp:Literal控件。

答案 1 :(得分:1)

您可以使用PlaceHolder代替Label来拥有一个ASP控件,该控件实际上不会将自己的元素添加到页面中,但可以在服务器上添加子元素。