[英]From classic asp.net to asp.net with MVC
在MVC希望您考虑设计的新方式方面,您会向与MVC完全陌生的MVC推荐一个通常在经典asp.net项目上工作的人,围绕应用程序设计改变什么思维过程?
除了常规的关注点分离(每一层都有责任)外,还有一些新的工作方式需要人们注意。 例如。 在MVC 3中,我们拥有剃刀引擎,您无法在其中使用任何服务器控件。 没有回发。 页面生命周期看起来有所不同。 等等
更具体地说,要使从经典的asp.net转换为带有Webforms或razor的asp.net MVC,需要学习或重新学习的东西是什么。
感谢您的时间和分享您的看法...
编辑
关于会话,缓存有什么变化吗? 另外,我正在尝试了解路由。 我的mvc webforms应用程序中存在的每个视图似乎都需要与参数一起完成。 这是否意味着我必须考虑许多不同的排列? 在剃须刀中似乎不需要映射请求路由。 那么,在什么情况下我应该通过MVC应用程序中的Webform来使用Razor?
您不能使用任何服务器控件的地方
errr !, 它们现在称为Helper Controls ,它们是Web表单控件的表亲,例如:
在WebForms Engine中:
<asp:GridView ID="gv" AutoGenerateColumns="true" runat="server" CssClass="tbl-grid">
<AlternatingRowStyle CssClass="row-alt" />
<Columns>
<asp:TemplateField>
<ItemTemplate>
Food: <asp:TextBox ID="txt" runat="server" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
在MVC引擎中:
var grid = new WebGrid(@Model, canPage: true);
@grid.GetHtml(
tableStyle: "tbl-grid",
alternateRowStyle: "row-alt",
columns: grid.Columns(
grid.Column("Title","Movie",
@<text><input type="text" id="txt_@item.Title" /></text>), ...
因此,您确实有很多辅助对象 ,一旦您通过了MVC表示的关注点划分,超级容易,而且,您开始完全控制在每个视图中编写的内容,使用PartialViews
等。
第一次尝试会很困难 ,但是请继续在StackOverflow上搜索您的问题,我敢肯定,这里已经回答了这些问题,另外:
微软还与合作Pluralsight和他们给你一个梦幻般的MVC(和Web表单)为ASP.NET 完全免费 4.0必不可少的教程,只是去通过所有的视频教程,我自己的PLuralSight每月帐户,他们是在他们做什么真正的好:
MVC 3基本视频
Webforms基本视频
在您进入MVC3世界之前, 请仔细阅读所有视频,最后您将知道, 您再也无法做任何事情了 :)
不久前,我写了一系列博客文章,内容涉及将经典的ASP网站转换为MVC,但该系列文章仍未完成(我不是博客最多产的博客!),并且不专门针对MVC 3,但这些文章可能有帮助。 这是一个链接-
http://www.notgoingdark.com/2011/04/converting-classic-asp-site-to-aspnet.html
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.