2014-12-04 66 views
0

我想創建一個可以在同一頁面上使用兩次的視圖,每次都使用唯一的ID。不使用編輯器模板的Asp MVC可重用控件

在我使用兩種方法來做這種事情

  1. 編輯模板
  2. stevensanderson的做法具有動態創建控件的那一刻

編輯模板是最簡單的因爲他們採用名稱混搭(例如parent1_parent2_childId),但編輯器模板不能跨區域使用,而且我非常喜歡區域

有第三種選擇嗎?

謝謝

回答

1

您可以將模型傳遞給RenderPartial擴展方法中的子視圖。使用此模式傳遞所需的ID或可從中獲得的東西。

+0

我還沒有嘗試,但我猜這裏有警告。 如果您將兩個控件放在同一個表單中,他們將會中斷模型綁定,或者是因爲我們更改了名稱(無法綁定),或者我們沒有更改名稱(隨機綁定)。但是,如果不是相同的形式,那麼它應該工作? – tony 2014-12-04 14:03:45

+0

您可以將模型設置爲動態,這樣,您可以傳遞任何內容。 – 2014-12-04 14:07:04

+0

我不知道視圖中的動態關鍵字,所以我一直在研究它。令人驚訝地難以找到數組綁定的例子,例如在'@foreach(模型中的動態項)'裏面'你會用什麼來綁定它?我試過@ Html.TextBox(「item.A」)和變體。可能是一個全新的問題。感謝您到目前爲止的幫助 – tony 2014-12-04 15:46:35