现在的位置: 首页 > 综合 > 正文

asp.net的内置对象

2013年03月18日 ⁄ 综合 ⁄ 共 1941字 ⁄ 字号 评论关闭

ASP.NET 提供的7大内置对象:

  • Response 服务器端将数据作为请求的结果发送到浏览器端(输出)
  • Request 浏览器端对当前页请求的访问发送到服务器端(输入)
  • Application 存储跨网页程序的变量或对象,中止于停止IIS服务(公用变量和对象)
  • Session 存储跨网页程序的变量或对象,中止于联机离线或有效时间(单一用户对象)
  • Server 定义一个与Web服务器相关的类提供对服务器上方法和属性的访问
  • Cookie 保存客户端浏览器请求的服务器页面,存放保留非敏感用户信息
  • Cache Web应用程序的缓存

下面的例子就来写个小程序,学习下使用最多的内置对象session和request,下面看下界面

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="index.aspx.cs" Inherits="usenzdx._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" action="servlet/check.ashx" method="post">
     用户名:<input type="text" name="name"  id="name"/><br /><br />
      密码:<input type="password" name="password" id="password"/><br /><br />
      <input type="submit" value="登录"/>
    </form>
</body>
</html>

下面写个一般处理程序来处理用户登录

using System;
using System.Collections;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Services;
using System.Web.Services.Protocols;
using System.Xml.Linq;
using System.Web.SessionState;
namespace usenzdx.servlet
{
    /// <summary>
    /// $codebehindclassname$ 的摘要说明
    /// </summary>
    [WebService(Namespace = "http://tempuri.org/")]
    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
    public class check : IHttpHandler,IReadOnlySessionState
    {

        public void ProcessRequest(HttpContext context)
        {
            context.Response.ContentType = "text/html";
          
            //取得用户名和密码
            string name = context.Request["name"];
            string password = context.Request["password"];
           // string path1 = context.Response.Write(context.Request.MapPath());
           
          
            if (name.Equals("tom") && password.Equals("123456"))
            {

                context.Response.Write(context.Server.MapPath("/"));
                context.Response.Write("</br>");
                context.Session["username"] = name;
                context.Server.Transfer("/manage/success.aspx");
            }
            else {
                context.Response.Redirect("/manage/failure.aspx");
            }
        }

        public bool IsReusable
        {
            get
            {
                return false;
            }
        }
    }
}

这里需要注意,首先要引入System.Web.SessionState,之后类要继承IReadOnlySessionState,否则会报下面的错误。

下面来看下运行的效果图,这里我也打印了下站点根目录

抱歉!评论已关闭.