我有一個.aspx頁面,用於處理訂單收據的佈局。我永遠不希望用戶真正進入頁面,我只想填充頁面上的字段,然後將HTML呈現爲發送給客戶的MailMessage。目前,我已經能夠通過使用Server.Execute(「〜/ myreceipt.aspx?orderId = 12345」,writer)完成這項工作,將HTML呈現給作者,然後將其放入消息主體。是否有可能在另一個頁面的代碼隱藏中創建一個ASP.NET頁面的實例?
這樣做的問題在於,它限制了我將orderId傳遞到收據頁面,並進行數據庫調用來提取訂單信息並填充字段,或者通過查詢字符串傳遞每個單獨的字段和填充數據的方式(如〜/ myreceipt.aspx?訂單ID = 12345 &客戶名稱=約翰%20Smith」,等等),這是相當麻煩的。我想要做的是將整個對象傳遞給aspx頁面在我的代碼隱藏中,通過我創建的一些屬性,然後以這種方式填充它,這樣我就可以輕鬆地重複使用相同的信息傳遞給多個視圖,例如銷售團隊的訂單通知,因爲我知道ASP.NET把它的所有頁面當成一個班級,我想我可能能夠做到這樣的事情:
Dim receipt As New ReceiptPage
receipt.OrderInfo = myOrderInfo
msg.Body = receipt.Render()
有誰知道這或類似的方法是可能的嗎?
任何幫助是極大的讚賞,
邁克
Jeremy, 感謝您的答覆。我一定會研究XSLT作爲一種可能性。如果我對他們瞭解甚少,那麼他們可以非常方便地用於系統集成場景。 – mclark1129 2009-11-05 18:02:35