- 注册时间
- 2006-6-16
- 最后登录
- 2012-5-2
- 阅读权限
- 150
- 积分
- 80
- 精华
- 0
- 帖子
- 80

- 性别
- 保密
- 听众数
- 0
- 买家信用
 - 卖家信用
 - 在线时间
- 7 小时
- 相册
- 0
|
发表于 2006-8-16 17:52:00
|显示全部楼层
回复
|
[vscript]2.1.3.3.3 Page_Unload<br><br>这个阶段页面已经处理完毕,需要做些清理工作。一般地,你可以在这个阶段关闭打开的文件和数据库链路,或者释放对象。<br>1、 断开数据库连接<br>请看如下脚本:<br><script language="VB" runat="server"><br>'定义一个共有变量<br>public Dim MyConnection As SQLConnection<br>'定义Page_Load事件<br>Sub Page_Load(Src As Object, E As EventArgs) <br>Dim DS As DataSet<br><br>Dim MyCommand As SQLDataSetCommand<br>MyConnection = New SQLConnection("server='iceberg';uid=sa;pwd=;database=info") MyCommand = New SQLDataSetCommand("select * from infor",MyConnection)<br>Myconnection.open()<br>DS = New DataSet()<br>MyCommand.FillDataSet(ds, "infor")<br>MyDataGrid.DataSource=ds.Tables("infor").DefaultView<br>MyDataGrid.DataBind()<br>End Sub<br>'定义Page_UnLoad事件<br>Sub Page_UnLoad(Src As Object, E As EventArgs)<br>'与数据库断开连接 <br>MyConnection.Close()<br>End Sub<br>现在我们在来看一个对文件操作的例子。<br>在这个例子中,我们使用的了两个事件,Page_Load事件和Page_Unload事件。在Page_Load事件先创建一个文件,然后向这个文件中写入内容。在Page_Unload事件中我们将此文件关闭。<br>代码如下:<br><%@ import namespace="system.io" %><br><html><br><head><br><title>ASP.NET 测试 写 文本文件</title><br></head><br><body><br><script language="vb" runat="server"><br>public Dim writeFile As StreamWriter<br>Sub Page_Load(Sender As Object,E as EventArgs)<br>writeFile = File.CreateText( "c:\test.txt" )<br>writeFile.WriteLine( "这是一个测试文件!" )<br>writeFile.WriteLine( "使用了Page_Load事件和Page_Unload事件!" )<br>Response.Write( "test.txt 创建 并 写入 成功!" )<br>End Sub<br>Sub Page_UnLoad(Sender AS Object, E as EventArgs)<br>writeFile.Close<br>End Sub<br></script><br></body><br></html><br>这样,我们就使用了Page_Load事件和Page_Unload事件。很明显,我们定义Page_Load事件,是因为这个阶段页面已经处理完毕,需要做些清理工作。<br>上面我们分析了页面处理最重要的几个阶段。应该说明的是:页面的处理过程远比上面的复杂,因为每个控件都需要初始化。在后面的章节中,我们还将了解到更加详细的页面处理过程。<br><br>2.1.4 Web Form事件模型<br><br>在asp.net中,事件是一个非常重要的概念。我们举两个例子来说明在Web Form 中的应用。<br><br>2.1.4.1 例子一:多按钮事件<br><br>我们在一个<form></form>里面有几个按钮,多个事件的响应我们该怎么处理呢?在asp.net中有很好的处理机制,我们可以在一个页面中写几个方法来分别响应不同的事件。<br><br>在下面的例子中,将根据五个按钮的功能,我们定义了五个方法:AddBtn_Click(Sender As Object, E As EventArgs)、AddAllBtn_Click(Sender As Object, E As EventArgs)、RemoveBtn_Click(Sender As Object, E As EventArgs)、RemoveAllBtn_Click(Sender As Object, E As EventArgs)、result(Sender As Object,E As EventArgs),分别用来处理全部加进、单个加进、单个取消、全部取消和提交事件。我们的form提交的时候,还是提交给本页面,由本页面进行处理,代码如下:<br><form action="menent.aspx" runat=server><br>其中,menent.aspx就是本页面。<br><br>Menent.aspx文件代码如下: <br><!--源文件:form\web页面简介\menent.aspx--><br><html><br><br><script language="VB" runat="server"><br><br>Sub AddBtn_Click(Sender As Object, E As EventArgs)<br><br>If Not (AvailableFonts.SelectedIndex = -1)<br>InstalledFonts.Items.Add(New ListItem(AvailableFonts.SelectedItem.Value))<br>AvailableFonts.Items.Remove(AvailableFonts.SelectedItem.Value)<br>End If<br>End Sub<br><br>Sub AddAllBtn_Click(Sender As Object, E As EventArgs)<br><br>Do While Not (AvailableFonts.Items.Count = 0)<br>InstalledFonts.Items.Add(New ListItem(AvailableFonts.Items(0).Value))<br>AvailableFonts.Items.Remove(AvailableFonts.Items(0).Value)<br>Loop<br>End Sub<br><br>Sub RemoveBtn_Click(Sender As Object, E As EventArgs)<br><br>If Not (InstalledFonts.SelectedIndex = -1)<br>AvailableFonts.Items.Add(New ListItem(InstalledFonts.SelectedItem.Value))<br>InstalledFonts.Items.Remove(InstalledFonts.SelectedItem.Value)<br>End If<br>End Sub<br><br>Sub RemoveAllBtn_Click(Sender As Object, E As EventArgs)<br><br>Do While Not (InstalledFonts.Items.Count = 0)<br>AvailableFonts.Items.Add(New ListItem(InstalledFonts.Items(0).Value))<br>InstalledFonts.Items.Remove(InstalledFonts.Items(0).Value)<br>Loop<br>End Sub<br><br>Sub result(Sender As Object,E As EventArgs)<br><br>dim tmpStr as String<br><br>tmpStr="<br>"<br>Do While Not (InstalledFonts.Items.Count = 0)<br>tmpStr=tmpStr & InstalledFonts.items(0).value & "<br>"<br>InstalledFonts.items.remove(InstalledFonts.items(0).value)<br>Loop<br>tmpStr=System.Web.HttpUtility.UrlEncodeToString(tmpStr,System.Text.Encoding.UTF<br>8)<br>Page.Navigate("result.aspx?InstalledFonts=" & tmpStr)<br><br>End Sub <br><br></script><br><br><body bgcolor="#ccccff"><br><center><br><h3><font face="Verdana">.NET->不同事件的处理方法!</font></h3><br></center><br><center><br><form action="menent.aspx" runat=server><br><br><table><br><tr><br><td><br>现有字体<br></td><br><td><br><!-- Filler --><br></td><br><td><br>选择的字体 <br></td><br></tr> <br><tr><br><td><br><asp:listbox id="AvailableFonts" width="100px" runat=server><br><asp:listitem>Roman</asp:listitem><br><asp:listitem>Arial Black</asp:listitem><br><asp:listitem>Garamond</asp:listitem><br><asp:listitem>Somona</asp:listitem><br><asp:listitem>Symbol</asp:listitem><br></asp:listbox><br></td><br><td><br><!-- Filler --><br></td><br><td><br><asp:listbox id="InstalledFonts" width="100px" runat=server><br><asp:listitem>Times</asp:listitem><br><asp:listitem>Helvetica</asp:listitem><br><asp:listitem>Arial</asp:listitem><br></asp:listbox><br></td><br></tr> <br><tr><br><td><br><!-- Filler --><br></td><br><td><br><asp:button text="<<==" OnClick="RemoveAllBtn_Click" runat=server/><br><asp:button text="<--" OnClick="RemoveBtn_Click" runat=server/> <br><asp:button text="-->" OnClick="AddBtn_Click" runat=server/><br><asp:button text="==>>" OnClick="AddAllBtn_Click" runat=server/> <br><asp:label id="Message" forecolor="red" font-bold="true" runat=server/><br></td><br></tr><br><tr align=center><br><td align=center><br><asp:button text="提交" Onclick="result" runat=server/><br><!-- Filler --><br></td><br></tr><br></table><br><br></form><br></center><br></body><br><br></html><br><br>写一个页面,在提交时候接收相关信息。我们在页面进入的时候取得传送过来的数值,用:<br><br>Request.Params("InstalledFonts")<br><br>来获得,具体来看我们的文件result.aspx的代码:<br><!--源文件:form\web页面简介\result.aspx--> <br><html><br><script language="VB" runat="server"><br>Sub Page_Load(Sender As Object, E As EventArgs)<br>If Not (Page.IsPostBack)<br>NameLabel.Text = Request.Params("InstalledFonts")<br>End If<br>End Sub<br></script><br><br><BODY ><br><h3><font face="Verdana">.NET->多事件处理!</font></h3><br><p><br><p><br><hr><br><form action="controls_NavigationTarget.aspx" runat=server><br><font face="Verdana"> <br>Hi,你的选择是: <asp:label id="NameLabel" runat=server/>!<br></font><br></form><br></body><br></html><br><br>程序运行如下: <br><br><br>< |
|