为什么知道Asp.net的生命周期对Asp.net中的编码很重要?

时间:2010-10-20 12:43:47

标签: asp.net

为什么知道Asp.net的生命周期对于在Asp.net中编码很重要?

10 个答案:

答案 0 :(得分:11)

否则,您最终会对您的代码做出错误的假设。

在不了解该平台的工作原理的情况下开发平台绝不是一个好主意。

至少,所有 ASP.Net开发人员必须了解客户端代码(Javascript)和服务器端代码(C#)之间的区别,以及回发模型的工作原理。 /> 了解ViewState和session也是一个好主意。

答案 1 :(得分:8)

首先,了解任何有效的方法应该是能够在其中正确编码的先决条件,否则它只是猜测和好运。 ASP.NET生命周期是ASP.NET工作方式的核心部分,因此也是必要的知识。

如果您不知道,具体哪种情况可能会出错?

一些例子:

  • 如果您不了解事件的顺序,您可以在从ViewState恢复之前最终读取控件的属性
  • 您可以在太晚时(例如在预渲染时间之后)尝试写输出
  • 您可以尽早写入属性,但只能让它们被其他内容覆盖。
  • 在创建子控件之前,您可能会遇到尝试执行操作的问题。

还有更多。简而言之 - 重要的是,这就是你需要了解它的原因。

答案 2 :(得分:4)

<BadAnalogy>出于同样的原因,了解页面编号的工作原理对于阅读书籍非常重要</BadAnalogy>

很多时候你可以在不理解页面生命周期的情况下完美地完成任务,但是你会偶尔遇到一些你无法解释的东西,除非你理解生命周期 - 这将会越来越频繁地发生你明白了。

此外,不是那么困难(你不需要 知道 它,只需了解它),并且掌握得很好页面生命周期如何工作将使您更好地了解ASP.Net如何工作,这反过来将使ASP.Net更容易使用。

答案 3 :(得分:2)

因为ASP.NET使用复杂的对象模型,所以知道因为:

非常重要
  • 您可以排查故障或学习利用viewstate。
  • 了解用户控件或自定义控件很好(因为它们也具有相同的生命周期减去一些页面生命周期事件)。用户控件可以在整个生命周期内与页面进行交互。
  • 由于组件更改它们的值而调试状态问题很有帮助(它早先是值X,现在它的值是这个回发生命周期,它是从服务器那样回来的,还是在加载时间内它被改变了?)< / LI>
  • 您可以学习如何构建自定义组件以利用生命周期,并减少整体编码工作量(使用模块或自定义页面类等)。

HTH。

答案 4 :(得分:0)

至少你应该知道,具有页面生命周期的ASPX会带来很多开销,并在适当的时候选择更简单的东西,例如Http处理程序(ashx)。

答案 5 :(得分:0)

生命周期和视图状态是ASP.net最重要的两个方面。在不了解生命周期的情况下,您将遇到有关viewstate,动态控件,事件等许多问题。了解它将为您节省大量时间!

答案 6 :(得分:0)

了解asp.net生命周期意味着知道什么,何时何地:在事件被触发时该怎么做以及将在何处应用。

您不仅需要知道“节省大量时间”的原因,还需要了解建立一个有良好实践的网站。

快乐编码

答案 7 :(得分:0)

ASP.NET尝试通过完全无状态的协议HTTP为您提供状态。理解页面生命周期非常重要,因为如果你不了解生命周期,你最终将几乎不必要地调试一堆代码。

对于前。如果您正在使用动态控件,并在Page_load中添加它们,则事件可能不会触发。如果初始化Page_init中的代码,相同的控件和事件将正常工作。

所以,你可以清楚地看到,只要知道哪种事件用于什么样的东西......你就可以避免进入不必要的学习循环。看看这个......

http://msdn.microsoft.com/en-us/library/ms178472.aspx

答案 8 :(得分:0)

我的前几个asp.net应用程序是在对生命周期知之甚少的情况下编写的,但它们只是小应用程序(简单的照片库和地图应用程序)。

只要您开始在业务环境中创建任何有用的东西,您就会想要使用更多的框架,并且您需要查看一些生命周期图以了解您将不可避免地获得的一些错误消息。 / p>

答案 9 :(得分:0)

Visual Studio为您生成Page_Load处理程序是有原因的 - 您甚至可以在页面生命周期中使用它来创建一个完全可维护的网站。

了解生命周期(以及如何在需要时查找引用)很重要,因为最终你会在Page_Load中做一些不起作用的事情。可能你遇到的第一件事是控制事件发生在Page_Load上,你会想要在那些控制事件之后做一些事情。所以你会加载好的'Page Lifecycle reference并看到之后的Page_LoadComplete,所以你处理它甚至一切都很好。