2011-10-12 45 views
1

問題:是否有任何Mvc框架解決方案可以用來創建一個乾淨簡潔的方法來代表我正在轉換的用戶控件? (有如下四個主要的設計考慮因素)將大型用戶控件轉換爲Mvc

  1. 這個用戶控件有很多內說明文字信息。我真的想避免寫一個長達一英里的助手方法,其中包含大量標準的HTML和文本。
  2. 此用戶控件包含一個網格。我已經在Mvc中編寫了我的Grid控件,但是我還沒有任何經驗,因爲它以乾淨的方式組合了html幫助器。
  3. 此控件僅作爲上傳用於導入目的的電子表格的結果呈現給用戶。
  4. 設計需要考慮在其他項目中使用的獨立dll中。

我正在考慮使用部分視圖的想法。這會更好,因爲它可以調用html助手來呈現我的網格幷包含說明文本。

但是,我無法找到真正適合我的場景的在線示例。所以我對細節沒有信心。

感謝您提前輸入。

回答

0
  1. 解釋性文本可以存儲在視圖模型中。它將被存儲在一個 單個地方,並且它可以輕鬆地指向一個資源文件,其中包含本地化(如果需要)
  2. 重新分解。我無法深入瞭解更多細節,因爲我沒有看到代碼
  3. 如果您選擇加入部分視圖,則可以使用@ Html.RenderPartial,@ Html.EditorFor,@ Html.DisplayFor來呈現控件,具體取決於這是什麼樣的控制。在我的項目中,我有用於存儲和顯示搜索條件的控件。所以我有一些線 @Html.EditorFor(model => model.CategorySearch, "CategorySearch")
  4. 我不知道一個單獨的DLL,但如果你有明確的視圖和域模型之間的分離,那麼你應該能夠逃避複製你的視圖模型並查看相關的組件(如局部視圖,編輯/顯示模板等)

我希望這有助於

+0

你的第四點是不能討價還價的跟我的老闆有很強的針對性。我們有很多應用程序會使用這個DLL。一旦我們開始將一些其他主要應用程序轉換爲mvc,將會有更多適合這種情況的控件,然後當我們對Dll進行更改時,我們將複製/粘貼瘋狂模式。 –

+0

我發現Mvc使用了VirtualPathProviders,它允許我將部分視圖作爲嵌入資源嵌入來規避複製/粘貼問題。但是有很多實現細節,至今還沒有很多具體的例子。 –

+0

我一直是開發人員一年左右,所以可能有一種方法來封裝和重新使用控制器的方式不同,我可能只是不知道它。 – 2011-10-12 17:25:13