Application

Application

 

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

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

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

Application[“键”]=值;

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

代码

登陆界面

   protected void click(object a, EventArgs s)

        {

            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(object sender, 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(‘ID worry‘)</script");

 

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

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

地址栏

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

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

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。