0

私がやること:

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);
}

2回ループした後に得られるもの:

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

2回ループした後に欲しいもの:

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

私の質問は、なぜ 2 番目の " div class=answer" が最初の " " にネストされるのかということです。そして、なぜ「div class="ExternalClass...」があるのですか?さらに重要なことに、意図したとおりに見せるにはどうすればよいでしょうか?

4

1 に答える 1

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 .

IE: リストの列のテキスト タイプとして「拡張リッチ テキスト」が選択されている場合、Sharepoint は「div class="ExternalClass[GUID]"」をリスト アイテムの先頭に追加します。正規表現でこれを取り除きます: Regex.Replace(currentItem["Your Field Name"].ToString(), "<.*?>", string.Empty);

于 2013-08-08T12:53:18.483 に答える