2010-05-18 64 views
0

我正在開發MVC應用程序,我必須以HTML頁面的形式生成報告。如果用戶點擊打印圖標,我必須向用戶顯示HTML頁面。如果用戶點擊電子郵件圖標,我必須發送具有相同HTML頁面附件的電子郵件。我試圖找到一種方法,可以使用相同的代碼在電子郵件和打印兩種情況下生成HTML。請提供您的建議。重複使用mvc視圖

回答

0

你的控制器必須決定該怎麼做。

  1. 用戶點擊打印。控制器操作:收集數據,準備視圖,顯示爲HTML頁面
  2. 用戶單擊電子郵件。控制器操作:收集數據,準備視圖,調用電子郵件功能並將HTML頁面的輸出用作附件。
+0

但如何重用相同的視圖? – 2010-05-18 20:14:36

+0

在第一種情況下,您將其發送給瀏覽器;在第二種情況下,將HTML添加到文件中,或者從Controller中調用的電子郵件方法中即時創建附件。如果兩種情況下的HTML都相同,那麼可以使用相同的HTML,區別在於你如何使用它。 – Alec 2010-05-18 20:29:07

+0

HTML是一樣的。我不會在哪裏放置代碼來生成HTML。因爲HTML通常位於VIEW中,所以我不確定如何從視圖中獲取並放入文件 – 2010-05-18 20:46:01

1

你真正想要和不知道如何制定的是渲染視圖到字符串。然後你可以用該字符串的內容做任何你想要的。

這裏 Render a view as a string

開始,但這個問題在許多其他問題繼續過(或者你可以Google一下),你會發現更多的信息。