【问题标题】:Dealing with ASP.Net Custom Controls in MVC在 MVC 中处理 ASP.Net 自定义控件
【发布时间】:2009-02-02 16:53:13
【问题描述】:

我在互联网上四处寻找,试图回答这个问题。不过好像有点复杂!似乎想出了各种不同的主题,例如 HtmlHelper 和其他东西。

基本上。如何在 MVC 中使用自定义控件?以一种避免做任何不受欢迎的事情的方式。

另外,使用 MVC 是否必须在页面中放置一些简单的逻辑?这不是我们应该远离的吗?

更新:因此,您似乎不能使用依赖于 MVC 所取消的任何内容的控件,例如回发事件和视图状态。那你能自己做吗?当然是只渲染的控件。

【问题讨论】:

  • 如果答案与您相关,您为什么不 +1?

标签: asp.net asp.net-mvc custom-server-controls


【解决方案1】:

您可以使用 ASP.NET 控件吗?也许。如果控件不使用 ViewState 或回发事件,它可能会起作用。例如,LoginView 控件工作得很好。 Telerik 通过一些控件支持 ASP.NET MVC。另一方面,如果控件需要 ViewState 或回发,那么它就无法工作。具有数据绑定的控件并不理想,因为您通常必须使用他背后的代码。但是,如果您在后面添加代码,它们将起作用。

另一方面,不了解 ASP.NET 的控件(如 jQuery UI 控件)工作得很好。

不,您不必将逻辑放在页面中。你也不要把它放在页面后面的代码上。相反,use helper methods

【讨论】:

    【解决方案2】:

    关于第二个问题,页面正是视图逻辑应该去的地方。任何其他逻辑都应该在您的控制器或模型中。

    我不确定您所说的自定义控件是什么意思。您可以拥有通过部分呈现的 ViewUserControl 以重用视图代码。如果您谈论的是为 Web 表单构建的第三部分控件,它们很可能不会起作用——至少在一段时间内是这样。但是,如果您绝对必须拥有它们,可以在同一个站点中将 MVC 与传统 Web 表单混合使用。

    【讨论】:

      猜你喜欢
      • 2011-12-20
      • 2010-12-24
      • 2016-10-06
      • 2010-11-13
      • 1970-01-01
      • 1970-01-01
      • 2016-04-10
      • 1970-01-01
      相关资源
      最近更新 更多