像这个网站上的许多其他人一样,我正在考虑转向ASP.NET MVC以用于未来的项目.目前我的网站运行的是传统的ASP.NET 2.0 Web窗体,它对我们来说没问题,所以我的另一个选择就是坚持我所知道的,并使用集成的AJAX东西转移到ASP.NET 3.5.
我想知道用户控件如何在ASP.NET MVC中工作.我们有大量的.ASCX
控件和一些复合控件.当我与网页设计师合作时,很容易让他们有效地使用ASCX控件,即使没有任何编程知识,这是一个明确的优点.但当然缺点是页面生命周期,这可能令人抓狂,并且ASCX控件很难在不同项目之间共享.复合控件是可共享的,但基本上是设计师的黑盒子.
ASP.NET MVC中的模型是什么?有没有办法创建控件来解决我们使用ASCX和复合控件处理的问题?允许Web设计人员轻松访问而不必担心代码被破坏是一个重要的考虑因素.
要实现用户控件,请执行以下调用:
<% Html.RenderPartial("~/Views/Shared/MyControl.ascx", {data model object}) %>
您可能还会看到PR5中的旧语法不再有效
<%= Html.RenderUserControl("~/Views/Shared/MyControl.ascx", {data model object}) %>
从Web Forms迁移到MVC时,您将始终担心代码中断,但是ASP.NET MVC团队已经做了很好的工作来最小化问题.