2011-09-13 21 views
1

私は電子メールを作成するためにTinyMceを使用しています。その後、電子メールをデータベースに保存しています。読み取り専用モードでも電子メールを開く必要があります。読書専用モードでメールを表示するdivに電子メールタグを挿入しましたが、表示されたテキストには、divのタグではなく、HTMLタグの表示として表示されませんでした。私は、電子メールのHTMLを追加するためにdiv.InnerHtmlを使用していますが、divは次のようにタグを示している:あなたがasp.net Literalコントロールを使用し、 `パススルー」にLiteralModeを設定する必要がありDIVに挿入されたHTMLをタグとして表示しません。むしろそれを通常のタグ表示として表示する

<p> 
<strong>hi,</strong> 
</p> 
<div> 
<span style="color: #800000;"> 
    Since the application that he demands require information gathering, 
    screen designing and development, I have forwarded the project to the team 
    I am working with. 
</span> 
</div> 
<div><br /></div> 
<div> 
<span style="color: #ff6600;"> 
    <strong> 
    <span style="font-size: medium;">Thanks,</span> 
    </strong> 
</span> 
</div> 
<div> 
<strong> 
    <span style="font-size: medium;"><br /> </span> 
</strong> 
</div> 
<div style="text-align: right;"> 
<span style="font-size: medium;"> 
    <em> 
    <span style="text-decoration: underline;"> 
    <span style="color: #339966;">Mr. Bota</span> 
    </span> 
    </em> 
</span> 
<br /> 
</div> 
+1

私は理解していない、あなたは_rendered_ HTMLを表示したいと言っていますか? – CodingGorilla

+0

タグとして表示したくないです。私はこれらのタグを表示したい。 – user576510

+0

@コーディングゴリラ、私はタグとしてそれを表示したくない。むしろ、これらのタグの結果をHTMLページに通常表示されるように表示する必要があります。 – user576510

答えて

2

。ここでもう少し読むことができます:http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.literalmode.aspx

タグを表示する代わりに、実際に表示するHTMLを許可する必要があります。

+0

しかし、なぜdivに表示されていないのですか?私はdivがそれをレンダリングされたhtmlとして表示することを期待していました。私はdivを使用することができますどのような方法? – user576510

+0

通常、セキュリティ上の理由から、ページに何かを書き込むと、それがエンコードされるため、これによってさまざまな可能性のある攻撃が防止されます。 TinyMceからの入力を受け入れた後でも、実際には、結果を書き出す前に、特に '

1

は、このためにリテラルコントロールを使用します

<asp:Literal ID="litEmailBody" runat="server" /> 

をそして背後にあるコードで:

litEmailBody.Text = htmlContent; //your HTML markup 
+0

私は試しましたが、違いはありません。いかなる提案もお願いします。 – user576510

+1

マークアップをHTMLでエンコードしていますか?リテラルに割り当てる前にマークアップをデコードするようにしてください。 –

関連する問題