3
對於電子商務系統,在下訂單之後,我有一個顯示訂單詳細信息的自定義用戶控件。我還希望將相同的訂單詳細信息寫入電子郵件,因此我想將用戶控件的內容寫入可添加到電子郵件正文中的字符串。如何將控件呈現的HTML寫入字符串
我試過使用RenderControl,但是沒有用戶控件上的動態填充標籤控件被填充。
StringBuilder sb = new StringBuilder();
StringWriter sw = new StringWriter(sb);
HtmlTextWriter htw = new HtmlTextWriter(sw);
OrderDetails1.RenderControl(htw);
return sb.ToString();
我發現別的地方,我可以在控件添加到頁面,然後寫入頁的輸出到字符串,但這種感覺缺憾。
看來我應該能夠捕獲控件的內容時,它是第一次呈現,以便我不必重新填充它並重新呈現它。任何人都知道嗎?
如果不是,填充控件的最乾淨的方法是什麼?
您需要先DataBind()控件? – Malk 2012-02-02 00:21:53
您需要創建Page類的一個實例並動態添加/呈現您的用戶控件。然後,您可以將呈現的內容抓取到字符串中,您可以在此處看到一個示例(第3個代碼示例):http://encosia.com/boost-aspnet-performance-with-deferred-content-loading/ – Zachary 2012-02-02 00:28:28