首页 >> 读书频道 >> 电脑 >> Application的事件
 
· 对C#开发两个基本原则的
· Application和
· 编写global.asa
· 配置Config.web
· 用C#代码编写的SN快速
· 用Visual C#实现
· 应用程序
· Visual C#实现M
· 如何开发一个多种语言版本
· C#中如何得到主机名与I
· 利用Visual C#编
· 对于关键字Ref和Out
 
· 电视剧《刁蛮公主》下载和
· 美容养颜手册
· 加油金顺剧情分集介绍完整
· 红楼梦:120回全本[清
· 素质教育在美国
· 全唐诗卷四十六
· 韩剧《布拉格恋人》剧情介
· 夜航船[作者:明·张岱]
· 局外人[作者:韩·可爱淘
· 现场流行病学
· 源氏物语[日本:紫式部]
· 武林寓言故事
 
· (出租)中动商场部分及写
· (出租)中动动漫基地&#
· 喜剧学院
· 《善德女王》剧情介绍
· 魔女18号 剧情
· 丑女无敌剧情介绍
· 魔女幼熙剧情介绍
· 龙游天下剧情介绍
· 震撼世界的七日剧情介绍
· 静静的白桦林剧情介绍
· 心情日记—老公今天我想对
· 旗舰剧情介绍
欢迎来到月影社区!如果您觉得这里不错,请推荐给您的朋友们。月影社区:http://wf66.com/

Application的事件


查看有无更新版本

关键字:ASP.NET 2006-9-20

 

当Application对象的生命周期开始时,Application_onstart 事件会被启动,当Application对象的生命周期结束时Application_onend事件会被启动。通常我们会在global.asax中定义
Application_onstart 事件。这和ASP程序相类似,有一点差别是Application_onstart 事件是在global.asa中定义。还有就是除了以前的四个事件又 增加了 两个事件Application_BeginRequest事件 和 Application_EndRequest事件。
在上一个例子中我们实现了用计数器来对页面进行统计,但是这样的程序有这样的一个问题,就是只能统计单个的页面,我们在asp+中可以很轻松的实现对整个站点页面的统计。为了达到这个目的,我们使用将使用Application_BeginRequest事件和 Application_EndRequest事件。这两个事件在站点的任意一个文件被请求的时候都会被激发,因此我们便利用这个事件实现对站点的访问统计。

我们首先来看看这个global.asax 文件
<script language="VB" runat="server">
Sub Application_End(Sender As Object, E As EventArgs)
'我们捎带实现了 站点的当前在线人数
dim intOnlineNumber as integer
intOnlineNumber=cInt(Application("ONLINENUMBER"))-1
Application("ONLINENUMBER")=intOnlineNumber
End Sub

Sub Session_Start(Sender As Object, E As EventArgs)
Application.Lock
intOnlineNumber=cInt(Application("ONLINENUMBER"))+1
Application("ONLINENUMBER")=intOnlineNumber+1
Application.UnLock
End Sub
Sub Application_BeginRequest(Sender As Object, E As EventArgs)
response.write("当前访问的页面是 " + Request.FilePath + "<br>")
'既然我们可以得到FilePAth 则我们只要把这个参数进行详细的各种各样的统计就可以了
End Sub
</script>
'好了一切完结之后,我们访问站点的任意一个aspx 文件,都会在最上方发现一行文字:当前访问的页面是 。。。。
怎么样,还不赶快尝试一下??

4.4.2 Session
4.4.2.1 Asp.net里的Session
对Session的应用,我们通过在Global.asax中设置,然后在aspx页面中调用来进行。下面我们就一个例子来说明这个问题。
4.4.2.2 一个Session例子:
我们在Global.asax中加上一个Session_Start方法,在里面定义响应的属性:

Sub Session_Start(Sender As Object, E As EventArgs)
          Session("name") = "saidy"
      Session("email") = "saidychan@sina.com"
      Session("tel") = "130000121553"
 End Sub

赋予属性一个初始值,这样当我们在调用页面(session.aspx)装入时直接就用这些默认值:
 
  <script language="VB" runat="server">
      '返回Session值方法:
      Function getinfo(Key As String) As String
        Return Session(Key).ToString()
      End Function
  </script> 
注意Key的定义,我们用这个语句获得方法的具体返回值,如“name“值:
 
 <%=getinfo("name")%>
 
 在另外一个文件(info.aspx)中,我们用下面的语句来获得数据:
 
      Sub sc(Sender As Object, E As EventArgs)
        Session("name") = name.Value
        Session("email") = email.Value
        Session("tel") = tel.Value
        Response.Redirect(State("Referer").ToString())
      End Sub

保存在Session中。
 下面是我们具体的代码:
 
application\Global.asax文件:
  
<script language="VB" runat="server">

    Sub Session_Start(Sender As Object, E As EventArgs)
   
      Session("name") = "global_saidy"
      Session("email") = "global_saidychan@sina.com"
      Session("tel") = "global_130000121553"
    End Sub

</script>
 
 application\session.aspx文件:
 
 
<html>
  <script language="VB" runat="server">
      '返回Session值方法:
      Function getinfo(Key As String) As String
        Return Session(Key).ToString()
      End Function
  </script>

 <body >
  <br><br><br>
  <center>
    <h3><font face="Verdana">.NET->Session</font></h3>
  </center>
  <br><br>
    <center> 
  <b><a href="info.aspx">员工档案!</a></b><p>
    <div align="center">
  <center>
  <table border="0" width="35%" cellspacing="0" cellpadding="0">
    <tr>
      <td width="50%">名称:</td>
      <td width="50%"><%=getinfo("name")%></td>
    </tr>
    <tr>
      <td width="50%">邮箱:</td>
      <td width="50%"><%=getinfo("email")%></td>
    </tr>
    <tr>
      <td width="50%">电话:</td>
      <td width="50%"><%=getinfo("tel")%></td>
    </tr>
  </table>
  </center>
</div>
  </center>
  </body>
</html>
 
 application\info.aspx文件:
 
 
<html>
  <script language="VB" runat="server">
      '取得上一页的信息
      Sub Page_Load(Sender As Object, E As EventArgs)
     
          If Not (Page.IsPostBack)
            State("Referer") = Request.Headers("Referer")
          End If
      End Sub

      '按钮事件,把数据保存在Session中,并返回上一页
      Sub sc(Sender As Object, E As EventArgs)
     
        Session("name") = name.Value
        Session("email") = email.Value
        Session("tel") = tel.Value
        Response.Redirect(State("Referer").ToString())
      End Sub

      '按钮事件,返回上一页
      Sub cc(Sender As Object, E As EventArgs)
     
        Response.Redirect(State("Referer").ToString())
      End Sub
  </script>

<body >
 <br>
<br>
<br>
  <center>

     <form runat="server">
    <h3><font face="Verdana">.NET->Session!</font></h3>
  </center>

  <br>
<br>
    <center>
    <b>选择你的信息: </b><p>
    <table bgcolor="#ccccff">
      <tr>
        <td>名称:</td>
        <td>
          <select id="name" runat="server">
            <option>saidy chan</option>
            <option>贺禧</option>
            <option>吕兵</option>
          </select>
        </td>
</tr>

      <tr>
        <td>邮箱:</td>
        <td>
          <select id="email" runat="server">
            <option>saidychan@sina.com</option>
            <option>chenyx@staff.yesky.com</option>
            <option>hexi1224@sina.com</option>
          </select>
        </td>
</tr>

      <tr>
        <td>电话:</td>
        <td>
          <select id="tel" runat="server">
            <option>023-77398202</option>
            <option>013011235488</option>
            <option>1398855566588</option>
          </select>
        </td>
</tr>

</table>

    <p>
    <input type="submit" OnServerClick="cc" Value="取消" runat="server"/>
<input type="submit" OnServerClick="sc" Value="提交" runat="server"/>

</form>

</center>

  </body>

</html>
 

Application的事件

[ 1 ]
Application的事件 num

打印本页 关闭

关于我们版权声明本站导航友情连结作品演示 TOP↑