1

SharePoint リストからいくつかの値を読み取り、ページに HTML として表示しようとしています。ただし、Web パーツ ページに文字通り HTML タグを表示し、レンダリングに失敗します。

protected override void Render(System.Web.UI.HtmlTextWriter writer)
{
  writer.WriteLine("<br />"); // this works
  writer.WriteLine(htbl["key"].ToString()); // html fails to render. literally renders the HTML in the string
}

私はすでに次のアプローチを見てきました:

  1. HTML へのテキスト- 私の意見では、言及された JavaScript はやり過ぎのようです。これを達成する簡単な方法はありませんか?

お知らせ下さい。

4

2 に答える 2

0

クリス、

1行のテキストに正確に何を入れますか?

以下を試してみましたが、問題なく動作しました。これを Web パーツ クラスと比較すると、違いがわかりますか?

   using System;
    using System.ComponentModel;
    using System.Web;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using Microsoft.SharePoint;
    using Microsoft.SharePoint.WebControls;   

 namespace test.WebPart1
    {
        [ToolboxItemAttribute(false)]
        public class WebPart1 : WebPart
        {
            protected override void CreateChildControls()
            {

            }

            protected override void Render(HtmlTextWriter writer)
            {
                SPWeb web = SPContext.Current.Web;
                SPList list = web.Lists["testlist"];
                foreach (SPListItem item in list.Items)
                {
                    writer.Write(item["testcolumn"].ToString());
                }
            }
        }
    }
于 2011-11-07T11:51:39.177 に答える
-1

その理由は、列が複数行のテキストであり、許可されるテキストのタイプが「リッチ テキスト (ボールド、イタリック、テキスト配置)」に設定されていたため、HTML を適切にレンダリングできなかったためです。解決策は、プレーン テキストに変更することです。

于 2011-11-07T18:20:18.503 に答える