如何在MVC 4中创建ASPX页面

时间:2013-01-29 09:00:02

标签: asp.net-mvc asp.net-mvc-4 webforms-view-engine

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

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

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

3 个答案:

答案 0 :(得分:0)

Look at

MVC的精神是摆脱背后的代码,因此旧的拖拽方式落在设计师身上并从后面的代码中操纵控制已经变得有点过时或多余。如果您已经在使用HTML5帮助程序..我会继续这样做。

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

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

答案 1 :(得分:0)

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

答案 2 :(得分:0)

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

  1. 路由 - 将请求映射到操作方法(使用URL,查询字符串,会话等请求数据)
  2. 控制器 - 为匹配操作方法创建控制器。它填充了所有环境,请求和会话数据
  3. 操作 - 匹配操作方法称为
  4. 结果 - 执行action方法返回的ActionResult。对于视图结果,这意味着:1)视图引擎定位匹配的视图名称,2)匹配视图使用操作方法返回的任何模型数据进行实例化,3)视图由视图引擎处理。
  5. 这意味着WebForms视图将由ASP.NET WebForms系统的MVC WebForms视图引擎而不是执行。视图引擎将执行一些基本的解析,以将模型中的数据添加到视图中(如<%%>所指定)。

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