ASP.NET学习一:安装和配置IIS,学习内置对象基础Response、Request、Application、Sessoin、Cookie、Server

ASP.NET是微软公司推出的新一代建立动态Web应用程序的开发平台,作为.NET Framework体系结构的一部分。利用它开发一个Web程序首先需要在运行它的服务器上建立IIS(internet information Server)
安装的步骤如下:
控制面板——程序——程序和功能——启动或关闭Windows功能,选择internet information Server
配置的步骤如下:
控制面板——系统和安全——管理工具——internet information Server(IIS)管理器

一、Response对象

Response对象用于将数据从服务器发送到浏览器。
常用方法和说明

方法说明
AddHeader将一个HTTP头添加到输出流
AppendToLog将自定义日志信息添加到IIS日志文件
Clear将缓冲区的内容清除
End将目前缓冲区中所有的内容发送至客户端,然后关闭
Flush将缓冲区中所有的数据发送至客户端
Redirect将网页重新导向另一个地址
Write将数据输出到客户端
WriteFile将指定的文件直接写入HTTP内容输出流
Response.Redirect("~/Welcome.aspx?parameter1=one&parameter2=two")
//重定向URL时传递参数,使用“?”分隔页面的链接地址和参数,有多个参数是用“&”分隔

二、Request对象

Request对象用于检索从浏览器向服务器发送的请求中的信息。
常用属性

属性说明
Params从QueryString、Form、Cookies或ServerVariables项的组合集合
QueryString获取HTTP查询字符串变量集合
Url获取有关当前请求的URL(统一资源定位器,就是网络地址)的信息
UserHostAddress获取远程客户端IP地址
UserHostName获取远程客户端DNS名称
Browser获取或设置有关正在请求的客户端浏览器的功能说明
ContentLength指定客户端发送的内容长度
Cookies获取客户端发送的Cookie集合
Form获取窗体变量集合

案例:以下实现页面中输出数据,页面跳转并传递数据

namespace WebApplication1
{
    public partial class Web1 : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            Response.Write("2222");
        }

        protected void ButtonConfirm_Click(object sender, EventArgs e)
        {
            string name = TextBox_name.Text;
            string sex = "先生";
            if (rbtSex2.Checked)
                sex = "女生";
            Response.Redirect("~/Welcome.aspx?Name=" + name + "&Sex=" + sex);
          
        }
    }
}


namespace WebApplication1
{
    public partial class Welcome : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
         HttpBrowserCapabilities hbc = Request.Browser;
            Response.Write("客户端浏览器信息:");
            Response.Write("<hr>");
            Response.Write("类型:"+hbc.Type+"<br>");
            Response.Write("名称:" + hbc.Browser+ "<br>");
            Response.Write("版本:" + hbc.Version+ "<br>");
            Response.Write("操作平台:" + hbc.Platform+ "<br>");
            Response.Write("是否支持框架:" + hbc.Frames+ "<br>");
            Response.Write("是否支持表格:" + hbc.Tables+"<br>");
            Response.Write("是否支持Cookies:" + hbc.Cookies+ "<br>");
            Response.Write("<hr>");
            string name = Request.Params["Name"];
            string sex = Request.Params["Sex"];
            Response.Write("欢迎" + name + sex + "!");
        }
    }
}

三、Application对象

Application对象用于共享应用程序级信息,是全局变量,可以在Global.asax文件或者aspx页面进行声明,必须对Application对象加锁。
Application对象的常用方法及说明

方法说明
Add新增一个Application对象变量
Clear消除全部Application对象变量
Lock锁定全部Application对象变量
Remove使用变了名称移除一个Application对象变量
RemoveAll移除全部Application对象变量
set使用变了名称更新一个Application对象变量的内容
Unlock解除锁定的Application对象变量
语法:Application[varName]=;

四、Sessoin对象

Session对象用于存储在多个页面调用之间特定用户的信息,一个用户对应一个Session对象,保存在Session对象中的用户信息,其他用户不能访问也不能修改。

语法:Session[varName]=;

例如登录时使用Session对象保存用户信息。

//主界面
        protected void ButtonConfirm_Click(object sender, EventArgs e)
        {           
            if(TextBox_name.Text=="mr"&& TextBox1.Text=="123")
            {
                Session["UserName"] = TextBox_name.Text;
                Session["LoginTime"] = DateTime.Now;//使用Session变量记录用户登录系统的时间
                Response.Redirect("~/Welcome.aspx");//跳到主页
            }
            else
            {
                Response.Write("<script>alert('登入失败! 请返回查找原因');location='Web1.aspx'</script>");//结合了JavaScript脚本语言
            }
        }
//跳转到Welcome.aspx页面
       protected void Page_Load(object sender, EventArgs e)
        {           
            Response.Write("欢迎用户" + Session["UserName"].ToString() + "登入本系统!<br>");
            Response.Write("你的登入时间为:" + Session["LoginTime"].ToString());
        }

五、Cookie对象

Cookie对象用于保存客户端浏览器请求的服务器页面,也可以用它存放非敏感的用户信息,信息存放的时间可以根据用户需要进行设置。
要存储一个Cookie变量,可以通过Response对象的Cookies集合来实现,语法如下

Response.Cookies[varName].value=;

取回Cookie,可以使用Request对象的Cookies集合,并将指定的Cookies集合返回。

变量名=Request.Cookies[varName].Value;

六、Server对象

Server对象定义了一个与Web服务器相关的类,提供对服务器上方法和属性的访问,用于访问服务器上的资源。
Server对象常用方法说明

方法说明
Execute在当前请求的上下文中执行指定资源的处理程序,然后将控制返回给改处理程序
HtmlDecode对已编码一消除无效HTML字符的字符串进行解码
HtmlEncode对要在浏览器中显示的字符串进行编码
MapPath返回与web服务器上的指定虚拟路径相对应的物理文件路径
UrlDecode对字符串进行解码。该字符串为了进行HTTP传输而进行编码并在URL中发送服务器
UrlEncode编码字符串,以便通过URL从Web服务器到客户端进行可靠的HTTP传输
transfer终止当前也的执行,并为当前请求开始执行新页

Execute 和transfer的方法重定向
Execute 方法用于将执行从当前页面转移到另一个一个页面,并将执行放回到当前页面。执行所转移的页面在同一浏览器窗口中执行,然后原始页面继续执行。所以执行Execute 方法后,原始页面保留控制权。
transfer方法用于将执行完全转移到指定页面,执行该方法时主调页面失去控制权。

Server.Transfer和Response.Redirect的区别是什么?

答:Server.Transfer仅是服务器中控制权的转向,在客户端浏览器地址栏中不会显示出转向后的地址;Response.Redirect则是完全的跳转,浏览器将会得到跳转的地址,并重新发送请求链接。这样,从浏览器的地址栏中可以看到跳转后的链接地址。

Server.Transfer是服务器请求资源,服务器直接访问目标地址的URL,把那个URL的响应内容读取过来,然后把这些内容再发给浏览器,浏览器根本不知道服务器发送的内容是从哪儿来的,所以它的地址栏中还是原来的地址。 这个过程中浏览器和Web服务器之间经过了一次交互。

Response.Redirect就是服务端根据逻辑,发送一个状态码,告诉浏览器重新去请求那个地址,一般来说浏览器会用刚才请求的所有参数重新请求。这个过程中浏览器和Web服务器之间经过了两次交互。

Server.Transfer不可以转向外部网站,而Response.Redirect可以。

Server.Execute效果和Server.Transfer类似,但是是把执行的结果嵌入当前页面。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值