2008-12-06 52 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