2010-08-21 24 views
3

我正在尋找將多個頁面作爲部分視圖嵌入表單的最佳實踐。作爲RenderAction或RenderPartial的ASP.Net MVC可重用表單

我有一個聯繫表,我正在尋找在一個網站上的多個頁面上嵌入。通常,表單將位於聯繫人頁面上,聯繫人模型可以是視圖的模型,並使用數據註釋進行驗證。但是,該視圖已經是強類型的。

如何在部分視圖中創建可重用表單並將其嵌入到頁面中?我在網站上使用N2,所以頁面必須已經有一個強類型的模型,但是我會公開擴展這些對象。

回答

4

就我個人而言,我推薦使用Html.RenderAction()來處理這些橫切問題。

爲您的聯繫方式的處理程序將需要獨立存在目前的觀看,所以你只剩下3個選項頁面:

  1. 手動將它添加到 當前操作的響應
  2. 手動將它添加到 響應由 基本控制器的方式電流控制器可修改 視圖狀態或視圖模型
  3. 調用的RenderAction() 的HtmlHelper INSI德當前視圖

這些3個選項中的,而第三個是大於1和2技術上更昂貴(因爲它發起一個全新的請求)時,它也是最maintanaible溶液。通過調用RenderAction(),您可以將您的聯繫表單與視圖的其餘部分完全隔離,因此您不必擔心會將其篡改爲當前的控制器響應。

0

使用的RenderPartial如果局部視圖的數據模型已經在主視圖模型,在其他情況下使用的RenderAction(當時的局部視圖的動作會創建視圖本身模型)。

相關問題