Application

来源:互联网 发布:ubuntu如何进入命令行 编辑:程序博客网 时间:2024/06/06 18:48

Application

 

Application也是可以用于页面间传值的一种方式。Application存储于服务器端,与Seesion最大的不同在于Application可以被访问网站的所有页面所有用户使用。

最常用的例子就是用于统计网站不同身份人访问量。

Application跟Seesion于Cookie一样,存值的方式都是键值对的方式。

Application[“键”]=值;

变量=(类型转换)Application[“键”];

代码

登陆界面

   protected void click(object a, EventArgss)

        {

            string userid = txtuser.Text;

            string userpw = txtpw.Text;

            if (usertype(userid) == 1 || usertype(userid) == 2)

               Application.Lock();

            switch(usertype(userid).ToString())

            {

               case "1":

                   if (Application["admin"]!=null)

                        Application["admin"] = (int)Application["admin"] + 1;

                   else

                       Application["admin"] = 0;

                        break;

               case "2":

                        if (Application["user"]!=null)

                            Application["user"] = (int)Application["user"] + 1;

                   else

                            Application["user"] = 0;

                        break;

               default:Response.Write("<script>alter('ID worry')</script");break;

            }

           Application.UnLock();

           Response.Redirect("WebForm2.aspx?userid="+userid+"");

        }

 

        public int usertype(string userid)

        {

            if (userid == "admin")

               return 1;

            else

               return 2;

        }

 

主界面

protected void Page_Load(objectsender, EventArgs e)

        {

            string userid = Request.QueryString["userid"].ToString();

           Response.Write("welcome  " + userid +"<br>");

            if(Application["admin"]!=null)

               Response.Write("admin visiti num is"+Application["admin"]);

            if (Application["user"]!=null)

               Response.Write("user visiti num is" + Application["user"]);

 

        }

 

运行结果

登陆界面输入

Admin

Admin

登陆

welcome admin
admin visiti num is 0

 

在不停止程序的情况下,再次打开页面,同样输入

welcome admin
admin visiti num is 1

 

 

在使用Application和其他传值对象之前都需要对其是否存在进行判断。

  if (Application["admin"]!=null)

在使用Application对象之前,通常都需要对其进行类型转换。

Application["admin"]= (int)Application["admin"]+ 1;

 

 

在后台代码可以很轻松的用这种方式弹出提示框,注意内容用单引号。

Response.Write("<script>alter('IDworry')</script");

 

当弹出页面并需要传值的时候,通过URL的传值方式也是很方便的,但是注意的是这个值最好不是密码之类,因为这个值会在地址栏上显示,所以要么加密要么就换一种方法吧。

 Response.Redirect("WebForm2.aspx?userid="+userid+"");

地址栏

http://localhost:26024/WebForm2.aspx?userid=admin

Application存储的应该是经常使用的值,如果一开始就有很大的数据量,建议用web.config。这个将在以后介绍。

0 0