关于某人询问的.net内部对象的回答

asdf4525qd 2009-05-04 07:42:21
我自己做过这方面的一个课件,因为没在网上发过,给不了连接,所以我这里就把内容传上,希望众高手们指正

我们比较常用的内部对象:Page、Request、Response、HttpCookie、Session、Application、Server、Mail 等
Page:
Page对象是由System.Web.UI.Page类实现,命名空间System.Web.UI
几个关键的属性
IsPostBack :页面上的表单是否提交
IsValid :所有控件是否通过验证
关键的方法:
DataBind :数据绑定
事件:
Load :页面装载

提供一个例子
private void Page_Load(object sender,EventArgs e)
{
if(Page.IsPostBack)
Message.Text=user_name.Text + "您好";
else
Message.Text="您还没有提交";
}

另外在GridView的操作中,我们也经常使用IsPostBack限定对数据源的绑定

...全文
122 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
asdf4525qd 2009-05-04
  • 打赏
  • 举报
回复
Response对象:
Response对象相当于服务端想客户端返回信息的对象,所以我们经常用来进行对客户端数据进行添加的操作
它是由System.Web.HttpResponse类实现,所属的命名空间: System.Web
它的重要属性:
Buffer、ContentType
重要方法:
Write、Redirect、End、Clear、Flush、BinaryWrite

Write方法是向客户端中写入一段信息
利用该方法就可以在客户端输出信息,效果和利用Label标签控件一样。
它的语法是Response.Write(变量数据或字符串)
例如:
Response.Write(user_name + "您好") 'user_name是一个变量,表示用户名
Response.Write("现在是: " + now() ) 'now()是时间函数
Response.Write("业精于勤而荒于嬉<p>") '输出字符串

另外它还可以直接在HTML代码中动态输出信息,此时需要将语句用<%和%>括起来,
例如:
<h4 align="center">Write方法示例</h4>
<%
Response.Write("您好,欢迎光临")
Response.Write("<p>敬请提出宝贵意见")
%>
此时,它还有一种省略方式,例如:
<h4 align="center">Write方法示例</h4>
<%="您好,欢迎光临"%>
<%="<p>敬请提出宝贵意见"%>

Redirect方法就可以引导客户端至另一个页面。它的语法是Response.Redirect(网址变量或字符串)
例如:
Response.Redirect("http://www.edu.cn") '引导至中国教育网
Response.Redirect("other.asp") '引导至站内其他网页
theURL="http://www.pku.edu.cn"
Response.Redirect(theURL) '引导至变量表示的网址

它和Server.Excute()方法的区别在于一个执行完之后引导到另一个页面,而Excute方法只是调用另一个页面的方法,并不会转到那个页面去
例如:我在考试中经常使用的一道题
你正在为TestKing的在线支付服务创建一个ASP.NET应用程序,这项服务允许用户通过使用电子信用卡来支付帐单。这个应用程序包含一个名为TestKPayment.aspx的支付页面,这个页面包括一个用于输入收款人、支付总数和信用卡信息的表单。当用户需要提交一个新的帐单地址给收款人时,页面表单允许用户提供新的地址信息给ProcessAddressChange.aspx,页面使用户提交支付信息时马上得到处理。这个ProcessAddressChange.aspx页面处理改变地址的请求,但不为用户提供任何信息。当请求处理完成时,ProcessAddressChange.aspx显示状态结果给用户。你需要添加一行代码到TestKPayment.aspx来执行ProcessAddressChange.aspx的功能,该使用哪行代码?( )
A Response.Redirect(“ProcessAddressChange.aspx”)
B Response.WriteFile(“ProcessAddressChange.aspx”)
C Server.Transfer(“ProcessAddressChange.aspx”,True)
D Server.Execute(“ProcessAddressChange.aspx”)


Buffer属性用来设置服务器端是否将页面先输出到缓冲区。它的取值为True或False,默认为True。
它的语法是Response.Buffer=True | False
另外使用Response.redirect时必须保证Buffer值为True。

BinaryWrite该方法用于输出二进制信息,不进行任何字符转换,直接输出。其语法为Response.BinaryWrite(变量或字符串)
如果在数据库里保存了二进制信息,可以用该方法输出。
例如:从数据库中显示图片的信息就要用到该方法。



asdf4525qd 2009-05-04
  • 打赏
  • 举报
回复
上面那个我漏了一句话,Request方法相当于客户端向服务端提交数据信息的对象
asdf4525qd 2009-05-04
  • 打赏
  • 举报
回复
Request:
Request对象可以获取客户端的信息,如客户端IP地址等

它是由由System.Web.HttpRequest类实现,所属的命名空间: System.Web

重要的属性有:
QueryString、Form、Cookies、ServerVariables、ClientCertificate、Browser


QueryString可以获取标识在URL后面的所有返回的变量及其值。
例如,当客户端送出如下的请求时,QueryString将会得到name与age两个变量的值。
http://……/temp.aspx?name=XX&age=24
后面可以有多个变量参数,参数之间用&连接。

例如
private void page_load(object sender,EventArgs e)
{
string user_name;
int age;
user_name = Request.QueryString["user_name"];
age = Convert.ToInt16(Request.QueryString["age"]);
Message.Text = user_name + "您好";
Message.Text = Message.Text + ",您的年龄是" + age.ToString();
}

ServerVariables数据集合可以方便地取得服务器端或客户端的环境变量信息,比如客户端的IP地址等等。
它的使用语法是Request.ServerVariables("环境变量名称")

常用的环境变量名称有:

LOCAL_ADDR:服务器端IP地址
REMOTE_ADDR:客户端IP地址
REMOTE_HOST:客户端主机名
SERVER_NAME:服务器名称
SERVER_PORT:HTTP数据请求时所用的端口号
例如:
private void page_load(object sender,EventArgs e)
{
Message.Text="您的IP地址是:" + Request.ServerVariables["REMOTE_ADDR"];
}
Browser数据集合就可以方便地获取客户端浏览器特性,如类型、版本、是否支持背景音乐等。
它的语法是Request.Browser ("浏览器特性名称")

常用的浏览器特性名称:
Browser:浏览器类型名称
Version:浏览器版本名称
Cookies:是否支持cookie
Frames:是否支持框架
BackgroundSound:是否支持背景音乐

private void page_load(object sender,EventArgs e)
{
string str;
str = "浏览器类型:" + Request.Browser["Browser"];
str += "<br>浏览器版本:" + Request.Browser["Version"];
str += "<br>支持Cookies否:" + Request.Browser["Cookies"];
str += "<br>支持背景音乐否:" + Request.Browser["BackgroundSounds"];
message.Text = strMessage;
}
TotalBytes属性可以得到客户端提交数据的字节大小,它的语法是Request.TotalBytes;

BinaryRead方法:前5种获取方法都是直接获取数据,而此方法可以二进制方式,获取客户端用Post方法提交的数据。

它的语法是Request.BinaryRead(字节大小)

说明:其中字节大小是用TotalBytes属性获得的响应数据的字节大小。


62,266

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧