与ASP.NET WebForms相比,ASP.NET MVC页面的“页面生命周期”是什么?
我试图更好地理解这个“简单”的问题,以便确定我在一个(非常)简单的站点中的现有页面是否可以很容易地从ASP.NET WebForms转换过来。
下面的流程的‘转换’,或者一个替代的生命周期将是我正在寻找的。
我目前正在做的事情:
(是的,我知道任何有能力回答我的问题的人都已经知道了--我只是想比较一下“生命周期”,所以我想我应该从填写我们都已经知道的内容开始)
呈现页面的:
客户端(不使用ASP.NET AJAX):
那么在MVC中,这种“生命周期”是如何改变的呢?
发布于 2009-01-20 05:24:54
我将尝试对您提到的每个要点进行评论:
母版页仍然存在于MVC中,用于为站点提供一致的布局。这里没有太多新的东西。
您的内容页面将成为MVC世界中的视图。它们仍然为母版页提供相同的内容区域。
不应该在MVC中使用webforms的平均处理,相反,您的控制器类和它们的操作方法将处理将数据加载到传递给视图的“模型”中。
虽然webform风格的数据绑定在MVC中是可能的,但我发现它不是最佳解决方案。最好将您的数据放在模型类中,并强类型您的视图,这样您就可以直接访问该模型。然后,只需使用<%= ViewData.Model.SomeProperty %>
语法访问数据并将其显示在所需的位置即可。至于视图状态,我的建议是忘记它的存在。
请记住,使用MVC的优点之一是您可以控制发送给客户端的HTML。拥抱这种力量,试着找到能让你保持这种控制的解决方案。Webform控件试图对您隐藏html,因此,当您需要自定义html时,它会变得更加困难。
我强烈推荐JQuery或者其他功能强大的javascript库。但是要学会使用它们来直接访问HTML DOM,并避免webform控件的id损坏问题。
您可以使用jquery连接到客户端的下拉选择中,并提交标准或ajax样式的请求。这些请求可以返回新页面、重定向、html片段,甚至可以用来更新现有页面的JSON数据。
可以根据需要使用asp.net会话。
https://stackoverflow.com/questions/460145
复制相似问题