2011-07-04 78 views
1

我使用asp.net mvc 2.0並嘗試創建可重用的網站部件,可以在任何頁面上動態添加。
我遇到的問題是如何加載與所有相關的js和數據的部分視圖?香港專業教育學院嘗試下面的方法來做到這一點:
創建可重用的小部件

  1. 使用局部視圖,並把所有的JS進去。在主視圖中使用渲染部分。但要初始化部分視圖,我需要將模型添加到當前操作方法模型,以便能夠製作RenderPartial("MyPartialView", Model.PartialViewModel)
    此外,我沒有地方可以放置額外的數據,我需要填寫表單(例如下拉列表值,某些預定義值等)。

  2. 使用RenderAction,但它似乎與RenderPartial有相同的問題,除了我不需要添加任何其他模型。

任何其他oprions非常感謝。

回答

1

據我所知,RenderAction在動作上執行完整的管道,然後呈現結果 - 所呈現的內容與您在瀏覽該動作時看到的內容相同。我已經使用RenderAction在整個站點渲染'小部件',但在我看來,它們應該獨立於渲染它們的頁面,否則它們不是真正的小部件,應該是渲染頁面代碼的一部分。例如,如果有登錄表單,則無論用戶當前處於什麼頁面,您都會將用戶帶到一個可處理信息的頁面,因此這是一個好的窗口小部件。我用過的其他方法是展示購物籃或廣告。這兩者都不依賴於顯示的頁面。

希望這會有所幫助!

+0

卡爾,我該走哪條路?我如何填充所需的數據下拉列表?所有markup + js應該去哪裏? –

+0

在控件中爲小部件的動作填充它。標記在局部視圖中,JS在主頁面中(除非您使用剃鬚刀,然後將其放入局部視圖中)。 - 要清楚,你需要一個動作和一個視圖,並且你使用RenderAction來調用動作。 – Carl

相關問題