我们创建了一个HTML窗体,可以通过它显示受邀参加晚会的嘉宾,但是,当嘉宾单击Submit RSVP按钮时,同一个页面会反复多次显示。为了解决此问题,需要实现一段代码,用于在将窗体数据发布到服务器时执行相关处理。
Default.aspx文件的顶部包含以下元素:
这称为Page指令,Page指令定义的特性为ASP.NET提供了有关Web窗体文件的详细信息。这条Page指令的CodeBehind属性值告诉asp.net平台,本项目中哪个C#类文件是与本Web窗体相关联的。在本示例中,它是Default.aspx.cs文件,即Default.aspx的代码隐藏文件。也就是说,Default.aspx页面中需要运行的程序代码放在Default.aspx.cs中。
Visual Studio的解决方案资源管理器中,默认是将Default.aspx.cs文件折叠隐藏到Default.aspx节点中的,你需要点击Default.aspx节点左侧的箭头,即可看到Visual Studio隐藏的文件(如图1-9所示),其中一个文件即为CodeBehind特性引用的Default.aspx.cs文件。
图1-9 展开解决方案年资源管理器中的Default.aspx
双击Default.aspx.cs文件可在编辑器中打开该文件,此时将显示如代码清单1-9所示的代码。
代码清单1-9 Default.aspx.cs代码隐藏文件的初始内容
代码隐藏类的基础是System.Web.UI.Page,其中包含许多用于响应Web请求的方法和属性。第二部分将详细介绍Page类。本章仅使用代码隐藏类中的Page_Load方法;当存在针对Default.aspx文件的请求时,ASP.NET Framework将调用该方法,以便响应上述请求。
对于本示例,Page_Load方法将在初次加载页面时被调用,并在用户提交窗体时再次被调用。(第二部分中解释为什么会出现这种情况。)为响应请求而添加到Page_Load方法中的代码如代码清单1-10所示。
代码清单1-10 向Page_Load方法中添加代码
代码解释请参考下一节。