深入讲解控件的属性持久化(一)
自从写了控件开发的文章后,收到了不少朋友的来信,提出了不少的问题,感谢大家的关注。今天就 把大家说的一些问题来讲解下。
虽然我这个系列是控件开发,但是我的目的还是希望大家通过开发控件更加快速的对ASP.NET有更加深 入的了解,所以我们也很有必要把一些基础性的东西将清楚。
为了达到深入讲解属性的目的,我首先来讲讲页面周期和页面解析的一些问题:
1。页面的解析:
大家可能听说,页面在提交给服务器的时候,都是被解析成为了一个个的继承与Page的类,最直接的 证明就是:
Code <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
大家看看,就是那个代码隐藏
Code
CodeFile="Default.aspx.cs" Inherits="_Default"
大家也许觉得疑惑:一个aspx的页面都是一些标记语言啊,如下面:(注意:是将下面的文本解析为 一个类)
Code
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>无标题页 </title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:Button ID="Button1" runat="server" Text="提交" OnClick="Button1_Click" /></div>
<asp:LinkButton ID="LinkButton1" runat="server">LinkButton</asp:LinkButton>
</form>
</body>
</html>
大家也许看见了,上面的源是一个类似与XML的文档。