使用面板动态创建Div会导致奇怪

时间:2013-08-08 09:45:01

标签: c# html asp.net sharepoint-2010

我的所作所为:

Panel p = new Panel();
p.Attributes["class"] = "resultview";

foreach (string st in summary)
{
    Panel answerPanel = new Panel();
    Label answerLbl = new Label();
    answerLbl.Text = theAnswer;
    answerPanel.Controls.Add(answerLbl);
    answerPanel.Attributes["class"] = "answer";
    //answerPanel.Controls.Add(new LiteralControl(theAnswer)); //Also tried this instead of a label
    p.Controls.Add(answerPanel);
}

在两个循环之后我得到了什么:

<div class="resultview">
    <div class="answer">
        <span>
            <div class="ExternalClass10FA632A5FA34598A2540E2A29E38841">Yes</div>
            <div class="answer"><span>No</span></div>
        </span>
    </div>
</div>

两次循环后我想要的是什么:

<div class="resultview">
    <div class="answer"><span>Yes</span></div>
    <div class="answer"><span>No</span></div>
</div>

所以我的问题是为什么第二个“div class=answer”嵌套在第一个中。为什么会有“div class="ExternalClass...”?更重要的是,我该怎么做才能看起来像我的意图?

1 个答案:

答案 0 :(得分:0)

应该提到这是一个Sharepoint项目。解决方案是:

http://www.go4sharepoint.com/Forum/externalclass-enhanced-rich-text-fields-7091.aspx

......这里有更多解释: http://www.sp-blogs.com/blogs/adnan/Lists/Posts/Post.aspx?ID=15

I.E:Sharepoint添加&#34; div class =&#34; ExternalClass [GUID]&#34;&#34;当列表具有增强的富文本时,到列表项的开头。在其列中选择为文本类型。你用正则表达式摆脱了这个:Regex.Replace(currentItem [&#34;你的字段名称&#34;]。ToString(),&#34;&lt;。*?&gt;&#34;,string.Empty );