使用Webmatrix Razor替换经典ASP网站

4
我一直在研究ASP.Net Web Pages,我认为它可以替代我正在处理的一些经典asp网站。很多方面与经典asp的做法相似,因此我相信我有机会引导其他程序员进入现代化的领域。我的问题是,我还没有找到任何深入的文档来了解如果我选择这条路需要注意哪些“坑”。如果有人知道,请告诉我,我真的需要这些信息。我认为对于其他人来说,直接使用MVC和Web Forms可能还太过于困难。谢谢。
Wade 我从Mike Brind那里找到了一个链接 - should I use WebMatrix to build a real-world website?

“Gotchas”是什么意思?你是指使用WebMatrix还是在ASP.net与ASP中制作网站?这些网站是哪种类型的? - Robert
@Robert 我的意思是指那些在微软文档中找不到,但在我尝试推出网站时会让我头疼的东西。至于这些网站,一个是用于进行维修的内部网站。因此,我需要数据库访问、网格、数据验证等功能...另一个是电子商务网站。最后一个是内容管理系统。 - Wade73
5个回答

4
我建议Web Pages作为一个框架可能是你可以采取的最佳下一步,但我也建议至少有一个人在团队中花时间了解MVC模式背后的基础知识。你可能会认为这对大部分团队来说太难了,那没关系,你可以利用你的知识计划开发Web Pages网站,使其在将来更容易地转换为MVC,如果你决定这是正确的方式。
我会看一下(从我的classic ASP背景来看),函数和helpers。确定数据访问策略 - Entity Framework与Web Pages配合得很好,可以轻松转换为MVC。避免使用Database helper。使用Visual Web Developer 2010 SP1进行智能感应选项。
正如Knox所说,你可以使用整个ASP.NET框架,因此不应该有任何Web Pages特定的“陷阱”,并且它比classic ASP更加强大。

那是我所想的,但我想更深入一些。我已经看过MVC了,但对于我目前需要的来说有点过头了,而且我认为Web Pages会帮助其他开发人员上手。警告插件! - 我知道你写了一本关于Web Matrix的书(http://www.amazon.com/Beginning-ASP-NET-Web-Pages-WebMatrix/dp/1118050487/ref=sr_1_3?ie=UTF8&qid=1295304399&sr=8-3),但它似乎更适合新手,所以我没有进一步了解它。再次感谢! - Wade73
我想我可以像@ScottHanselman一样使用massive作为数据访问层。 - Wade73

4

我已经使用Webmatrix / WebPages / Razor一段时间了,非常喜欢它。虽然我已经有一段时间没有使用Classic ASP了,但对我来说,WebPages感觉就像是Classic ASP的真正继承者以及ASP.net从一开始就应该具备的功能。实际上,我正在将我的大多数小型站点从WebForms迁移到WebPages框架。以下是我遇到的一些问题。

我不确定这是否是一个要注意的问题,但我想提一下,在WebPages中,变量的作用域可能会有所不同。我知道许多Classic ASP站点曾经使用包含文件来运行代码片段。其中许多依赖于在父文档中设置的全局变量。在WebPages中,如果您使用RenderPage或Helpers来替换包含文件,则它们大多在父级的范围之外运行。如果您使用Server.Execute而不是包含文件,那么您可能不会注意到太大的区别,但如果您确实使用了包含文件和大量全局变量,则可能会注意到它。

另一个可能需要注意的问题是,ClassicASP中的<%=%>不会编码输出,但在WebPages中,Razor语法@默认编码输出。

还有一个需要考虑的问题是在Webpages中使用C#与VB.net。虽然VB.net可以工作,但您会发现大多数示例,教程和论坛中的人都使用C#。

最后一个让我困扰的问题是它被命名为“webpages”框架。我发现使用术语“webpages”进行良好的Google搜索很难。即使是“asp.net webpages”,也主要返回WebForms结果。我更喜欢使用“webmatrix”或“razor”。


谢谢提供信息。我之所以问这个问题,是因为很难找到有关“ASP.Net Web Pages”的任何信息。我听说Phil Haack不喜欢这个名字。哦,算了! - Wade73
是的,我希望他们能将其更改为其他名称。在我看来,将其称为“WebMatrix框架”或“Razor Pages框架”会更好。由于“ASP.NET Web Pages”可以适用于任何与ASP.NET相关的内容,因此开发人员几乎无法找到“Web Pages框架”的信息。 - dtc
我有一些客户正在尝试摆脱“经典ASP”,我认为这是一个很好的框架来使用。还有多少人在努力过渡到21世纪时可以从这样的东西中受益呢?就像我说的,算了吧。 - Wade73

2

我无法推荐任何文档,但这里有一篇介绍Web Matrix的文章,该博客上的Mike已经写了很多关于使用Web Matrix进行Web页面开发的博客


我之前访问过他的网站,只是希望能获得更多不同的意见。谢谢。 - Wade73
2
无论如何,我都会给你我的意见... ;o) - Mike Brind
@Mike 既然你在这里,你有什么提示或指针吗?你的网站非常有帮助! - Wade73

1
我们有两个生产站点,使用Web Matrix开发。一个为我们的客户提供服务,另一个是我们员工的内部网。它们已经在生产环境中运行了将近一年。我可以说大约95%的站点纯粹是在WebMatrix IDE中开发的,只有大约5%的站点使用Visual Studio,尤其是用于偶尔出现的复杂调试。我们对WebMatrix / Web Pages感到满意。我没有使用WebForms,因为我担心WebForm无法创建真正轻量级的页面,因为我们的许多用户在iPad或iPhone上使用蜂窝数据。我没有使用MVC是因为它增加了额外的复杂性,而我们的许多页面只是从我们的生产数据库中显示用户只读数据。由于WebMatrix可以访问完整的ASP.NET库,我一直没有感到受限制。

谢谢,这正是我在寻找的东西。你是否需要做什么变通处理? - Wade73
WebMatrix目前在验证方面并没有提供太多帮助。我们在需要的地方使用jQuery验证。我相信在WebMatrix 2.0中已经有所改进,但我们无法等待。 - Knox
@Knox - 另一方面,v1 中的内容比经典 ASP 中的任何内容都要好得多。 - Mike Brind

0

我们目前正在将ASP页面转换为Web Matrix。几年前,我们曾尝试使用WebForms进行转换,但最终只带来了挫败感。在学习了C#和Razor语法的基础知识后,我们的开发人员认为选择Web Matrix是正确的决定。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接