2008-12-06 48 views
2

我只知道關於.NET MVC的一小部分,到目前爲止還沒有使用過它,但我想知道如何創建可重用的控件不同的應用?.NET MVC中控件的可重用性

我們已經在外部庫中創建了各種控件,並且如果我們想要使用它們,我們引用該程序集。一個例子是報表的日期範圍選擇器,用戶可以選擇兩個日期,然後他們回發頁面,控件更改日期事件被觸發,報表被更新。

你將如何在MVC中完成這項工作?我知道你仍然可以像你通常那樣使用控件,但這看起來並不像MVC應該使用的方式。我認爲通常你會將表單數據發佈到一個新的視圖,驗證表單數據,然後做任何需要的下一步。然而,當這些都被封裝在一個控件中時,你怎麼可能將它分成多個視圖?

幾點我希望能擺脫這種問題是:

  • 你如何解決這個問題?
  • 你的控件有什麼樣的工作流程?
  • 您的表單是否實際發佈到其他頁面或發回到同一頁面?

****更新:****

我發現從羅布科納這個博客條目,但它不與它與用戶控件涉及的控制處理。即使使用下面的渲染控件的方法,您如何使用它來渲染一個處理表單的控件?

http://blog.wekeroad.com/2008/01/07/aspnet-mvc-using-usercontrols-usefully/

回答

2

對於視圖元素,用戶控制和擴展的HtmlHelper的重用應該滿足您的需求。我創建了一個擴展視圖頁面的項目,以使用流暢的界面生成視圖元素。閱讀有關它here

但是,這些都是僅供查看的方法。對於包含服務器端處理的UI元素的重用,MvcContrib開發了子控制器的概念。閱讀關於它here。這是另一個blog post,描述了一種替代方法,聲稱使用「部分請求」的複雜性較低。我還沒有冒險進入這個領域。

+0

看起來很有趣我肯定會看看它,謝謝蒂姆。 – 2008-12-06 23:08:09

0

您可以使用純JavaScript控件通過AJAX可以再 「回發」。在服務器端,您有一個處理日期範圍更改的控制器+操作。

A calendar example