asp.net MVC - 如何在 MVC 4 中创建 ASPX 页



我曾经用ColdFusion开发过一段时间,但后来离开了Web开发领域一段时间。 我现在回来了,并被聘为中级(入门级)级 Web 开发人员。 我的工作场所使用的是 MVC 4,但没有使用 Razor 视图引擎。 我购买的两本 MVC 4 书籍(以及大量的教程和博客)只讨论了使用 Razor——我在自学中使用了它,但我需要了解它在不使用 Razor 引擎时是如何工作的。

使用 ASPX 视图引擎时,如何使用它? 它是否像普通的 ASPX 页一样工作,我将 ASP.NET 控件放在页面上,然后使用 C# 中的代码隐藏引用它们? 只是,我不是使用 ASP.NET 控件,而是使用 HtmlHelper 方法? 请记住,我不是在询问使用 <% %> 而不是 <@ 的基本格式,因为这里涵盖了大部分内容:http://haacked.com/archive/2011/01/06/razor-syntax-quick-reference.aspx。 我不明白流量如何通过我的基本HomeController(它只有一些ActionResult()方法,没什么大不了的)路由到这些ASPX页面。

如果需要,我可以详细说明。

无论视图引擎如何,所有 MVC 视图页面都遵循相同的生命周期:

  1. 路由 - 将请求映射到操作方法(使用 URL、查询字符串、会话等请求数据)
  2. 控制器 - 为匹配操作方法创建控制器。 它填充了所有环境、请求和会话数据
  3. 操作 - 调用匹配操作方法
  4. 结果 - 执行操作方法返回的ActionResult。 对于视图结果,这意味着:1) 视图引擎查找匹配的视图名称,2) 使用操作方法返回的任何模型数据实例化匹配的视图,3) 视图由视图引擎处理。

这意味着WebForms视图将由MVC WebForms视图引擎执行,而不是由 ASP.NET WebForms系统执行。 视图引擎将执行一些基本解析,以将模型中的数据添加到视图中(如 <%%> 指定)。

此外,仅供参考,您甚至可以在单个项目中混合视图引擎(需要一些设置)。

看看

MVC 的精神是摆脱背后的代码,因此将拖放到设计器上并从后面的代码操作控件的旧方法已经变得有些过时或多余。如果您已经在使用 HTML5 助手..我会继续这样做。

这纯粹是个人观点...但我会提出使用剃刀的理由。

编辑:将模型传递给视图...模型保存数据。

如果您使用的是 MVC ASP.NET 那么忘记代码隐藏。至于视图引擎,你可以使用剃刀或aspx方式,这意味着你可以在视图上使用的语法是剃刀或aspx。路由不会受到您选择的视图引擎的影响。(无论您选择剃刀视图引擎还是 aspx,它的行为都将相同。并且没有aspx视图的行为不像普通的aspx Webform,没有视图状态后面的代码等这是 ASP.NET 和 ASP.NET MVC的良好比较,这是不同视图引擎的比较。

相关内容

  • 没有找到相关文章

最新更新