【问题标题】:Use Webmatrix Razor to Replace Classic ASP Site使用 Webmatrix Razor 替换经典 ASP 站点
【发布时间】:2012-01-26 01:14:43
【问题描述】:

我一直在研究 ASP.Net 网页,我认为它可以很好地替代我正在开发的一些经典 ASP 网站。它们有很多类似于经典 ASP 做事的方式,所以我相信我有机会将其他程序员拖入现在。我的问题是,如果我选择走这条路,我还没有找到任何深入的文档,看看是否有任何“陷阱”我需要注意。因此,如果有人知道,我真的可以使用这些信息。我认为目前直接使用 MVC 和 Web 表单对于其他人来说是一座太远的桥梁。谢谢。

韦德

我找到了 Mike Brind 的链接 - should I use WebMatrix to build a real-world website?

【问题讨论】:

  • “陷阱”是什么意思?您是指使用 WebMatrix 还是在 ASP.net vs ASP 中做网站?还有这些是什么类型的网站?
  • @Robert 我的意思是您在 Microsoft 文档中找不到的任何内容,但是当我尝试推出该网站时会令我头疼。至于站点,一个是进行维修的内部站点。所以我需要数据库访问、网格、数据验证等……另一个是电子商务网站。最后一个是 CMS。

标签: asp-classic webmatrix razor


【解决方案1】:

我们目前正在将我们的 ASP 页面转换为 Web Matrix。几年前,我们尝试使用 WebForms 进行转换,但以失败告终。在 C# 和 Razor 语法的一小段学习曲线之后,我们的开发人员认为我们做出了使用 Web Matrix 的正确决定。

【讨论】:

    【解决方案2】:

    我已经使用 Webmatrix/WebPages/Razor 有一段时间了,并且喜欢它。自从我使用 Classic ASP 以来已经有一段时间了,但 WebPages 对我来说感觉就像是经典 ASP 的真正继承者,并且 ASP.net 从一开始就应该是这样。实际上,我正在将大多数较小的站点从 WebForms 转移到 WebPages 框架。以下是我遇到的一些事情。

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

    另一个可能的问题是 ClassicASP 不编码输出,但在 WebPages 中,Razor 语法 @ 默认编码输出。

    要考虑的另一件事是将 C# 与 VB.net 与网页结合使用。尽管 vb.net 可以运行,但您会发现大多数示例、教程和论坛中的人都使用 C#。

    最后困扰我的是它被命名为“网页”框架。我发现使用“网页”一词很难进行良好的 Google 搜索。甚至“asp.net 网页”也能带回大部分网络表单结果。我使用“webmatrix”或“razor”取得了更大的成功。

    【讨论】:

    • 感谢您的信息。我问的原因是因为很难找到有关“ASP.Net Web Pages”的任何信息,我听到 Phil Haack 说他不喜欢这个名字。哦,好吧!
    • 是的,我希望他们能把它改成别的东西。将它称为“webmatrix 框架”或“razorpages 框架”会更好。因为它是开发人员几乎无法找出“网页框架”是什么,因为“asp.net 网页”可以应用于任何与 asp.net 相关的东西。
    • 确实,我有一些客户正在尝试摆脱“经典 asp”,我认为这是一个很好的框架。在尝试过渡到 21 世纪的同时,还有多少其他人可以真正从这样的事情中受益!?!?正如我所说,哦,好吧。
    【解决方案3】:

    我建议将网页作为一个框架可能是您可以采取的最佳下一步,但我也建议团队中至少有一个人花时间了解 MVC 模式背后的基础知识。您可能认为目前对团队的大多数人来说太过分了,这很公平,但是您可以利用您的知识来规划 Web Pages 站点的开发,以便在某个阶段更容易地将其转换为 MVC未来,如果你决定那是要走的路。

    我会看的东西(我自己来自经典的 ASP 背景)是函数和助手。确定数据访问策略 - 实体框架与网页配合良好,可以轻松转移到 MVC。避免使用数据库助手。使用 Visual Web Developer 2010 SP1 作为 Intellisense 选项。

    正如 Knox 所说,您可以使用整个 ASP.NET 框架,因此不应该有特定于网页的“陷阱”,这是传统 ASP 的一大进步。

    【讨论】:

    • 这就是我的想法,但我想继续这样做。我看过 MVC,但它对于我目前需要的东西有点多,而且我认为网页会帮助其他开发人员加入。警告插头! - 我知道你写了一本关于 Web Matrix (amazon.com/Beginning-ASP-NET-Web-Pages-WebMatrix/dp/1118050487/…) 的书,但它似乎更适合新手,所以我没有进一步研究它。再次感谢!
    • 另外我想我可能会关注@ScottHanselman 并使用海量作为数据访问层。
    【解决方案4】:

    我们有两个使用 Web Matrix 开发的生产站点。一个服务于我们的客户,另一个是我们员工的内部网。他们已经在生产中运行了将近一年。我想说大约 95% 的站点是纯粹在 WebMatrix IDE 中开发的,大约 5% 进入 Visual Studio,特别是对于偶尔的晦涩调试。我们对 WebMatrix / Web Pages 很满意。我没有使用 WebForms 是因为我担心 WebForm 能够创建真正轻量级的页面,因为我们的许多用户都在 iPad 或 iPhone 上使用蜂窝数据。由于额外的复杂性,我没有使用 MVC,因为我们的许多页面只是显示来自我们生产数据库的用户只读数据。因为 WebMatrix 让您可以访问完整的 ASP.NET 库,所以我完全没有感到受阻。

    【讨论】:

    • 谢谢,这就是我要找的。您有什么需要解决的方法吗?
    • WebMatrix 目前没有为您提供很多验证帮助。我们在需要的地方使用 jquery 验证。我相信他们已经在 WebMatrix 2.0 中改进了它,但我们等不及了。
    • @Knox - OTOH,v1 中的内容比经典 ASP 中的任何内容都要好。
    【解决方案5】:

    无法推荐任何文档,但这里是 mikesdotnetting.com 博客上对 Web Matrix 的介绍,他在该博客上写了相当多的 lot 关于 Web Matrix 的网页。

    【讨论】:

    • 我以前访问过他的网站,只是希望能得到更多不同的意见。谢谢。
    • 无论如何我都会给你我的意见... ;o)
    • @Mike 既然你在这里,你有什么提示或指点吗?您的网站很有帮助!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-12
    • 2012-11-02
    • 1970-01-01
    • 2011-11-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多