【发布时间】:2012-02-04 09:47:45
【问题描述】:
我注意到 MVC 2 使用母版页和 ascx 页面。我习惯使用 Razor 页面,但必须处理较旧的项目。所以我想知道是否可以在这些 aspx 标记页面上使用 asp.net 服务器控件?
我知道建议不要插入页面生命周期,但是用户控件呢?
【问题讨论】:
我注意到 MVC 2 使用母版页和 ascx 页面。我习惯使用 Razor 页面,但必须处理较旧的项目。所以我想知道是否可以在这些 aspx 标记页面上使用 asp.net 服务器控件?
我知道建议不要插入页面生命周期,但是用户控件呢?
【问题讨论】:
如果您想使用用户控件,请坚持使用 Web 表单。用户控件不与 MVC 一起使用。 MVC 视图引擎没有像 Web 表单那样的页面生命周期。
【讨论】:
您的用户控件插入到 WebForms 页面生命周期中,它们通过 ViewState 维护其状态。创建了一些助手来将控件呈现给 MVC,但它们的局限性在于它们是只读的,控件不支持回发或任何类似的事件。
http://malvinly.com/2011/02/28/using-web-forms-user-controls-in-an-asp-net-mvc-project/
您可以使用自己的控件创建局部:
【讨论】: