2013-02-04 18 views
0

我的方案: 我使用RadEditor控件作爲用戶填寫表單提交電子郵件的編輯器。 RadEditor是用戶輸入電子郵件正文的地方。我們在我們的數據庫中有一些以HTML格式存儲的電子郵件模板,用戶可以通過表單上的下拉列表選擇。這些模板是完整的HTML,它們具有自己的頭標籤和帶有自己樣式的樣式標籤。將RadEditor內容設置爲完全HTML,並檢索完整的HTML

我的問題: 我可以將RadEditor內容設置爲我的模板的完整HTML嗎?我希望能夠將編輯器的內容設置爲完整的HTML ,並且能夠在代碼爲的代碼服務器上從RadEditor獲取完整的HTML。我目前正試圖做到這一點,但是當我使用編輯器的.Content屬性時,我只能得到<body>標記內部的內容,而不是完整的HTML。當用戶輸入內容後需要將編輯器內容保存回數據庫時,這是有問題的,因爲我需要將完整的HTML保存到數據庫。

是我的方法不正確,而應該只是試圖保存和檢索編輯器的HTML的正文,而不是完整的HTML?在這種情況下,我將如何處理需要應用於每個電子郵件模板的不同樣式?

請注意,我一直在使用編輯器的ContentAreaMode="Iframe"設置。

謝謝!!!

+0

我誤會了。 .Content屬性確實在將它設置爲完整的html後返回完整的HTML – unnknown

回答

3

我認爲你的方法是正確的。如何完成它:

  1. 而是保存「HTML全文」到數據庫中,保存RadEditor.Content HTML和(另一列)他們選擇了HTML模板的ID。如果他們想要更改模板,這將很好。

  2. 您的HTML模板可以有某種類型的「佔位符」,讓您知道在哪裏「插入」RadEditor中的HTML。假設您的HTML模板中有文字%%BODY%%

當您準備發送電子郵件,獲得模板的RadEditor.Content(無論是從回傳或從查詢數據庫),並結合他們。類似於

string htmlTemplate = //your HTML template from your database 
string body = htmlTemplate.Replace("%%BODY%%", RadEditor.Content); //the string 'body' is what will be sent as your email body. 
+0

這聽起來像個好主意。我會仔細看看的。謝謝! – unnknown