2015-10-16 49 views
0

我正在使用代碼隱藏文件來生成Bootstrap Accordion,其中包含從SQL語句中提取的一些數據。Codebehind將一個不合需要的<span>標記添加到html

手風琴沒有默認全部關閉,但如果我點擊每個標題,然後他們關閉和打開,因爲他們應該。看看生成的源代碼,我可以看到代碼隱藏添加了一個不合需要的<span>標記,我認爲這可能是問題的一部分。

部分代碼隱藏(這是我開始建立事<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>"; 

生成的源屏幕截圖。您可以看到跨度採用id:我的asp:內容名稱和標籤名稱。

You can see the span

如何阻止這種情況發生!?

+0

請注意,您確實不應該將第一個HTML代碼作爲字符串從後面的代碼中添加。所有這些代碼應該從一開始就處於標記狀態。 – Servy

+0

你會如何建議添加重複的div模式,在後臺必須有很多邏輯進行? –

+0

您使用「中繼器」。 – Servy

回答

4

服務器控件asp:Label將始終添加<span>標記。

如果您不想要那樣,請使用asp:Literal控件。

1

您可以使用PlaceHolder而不是Label來實現ASP控件,該控件實際上並未將其自己的元素添加到頁面中,但可以在服務器上添加子元素。

相關問題