📅  最后修改于: 2020-11-21 05:41:05             🧑  作者: Mango
我们研究了页面生命周期以及页面如何包含各种控件。页面本身被实例化为控件对象。所有的Web表单基本上都是ASP.NET Page类的实例。页面类具有以下与内部对象相对应的极其有用的属性:
我们将在适当的时候讨论这些对象。在本教程中,我们将探索Server对象,Request对象和Response对象。
Asp.NET中的Server对象是System.Web.HttpServerUtility类的实例。 HttpServerUtility类提供了许多属性和方法来执行各种作业。
HttpServerUtility类的方法和属性通过ASP.NET提供的固有Server对象公开。
下表提供了属性列表:
Property | Description |
---|---|
MachineName | Name of server computer |
ScriptTimeOut | Gets and sets the request time-out value in seconds. |
下表提供了一些重要方法的列表:
Method | Description |
---|---|
CreateObject(String) | Creates an instance of the COM object identified by its ProgID (Programmatic ID). |
CreateObject(Type) | Creates an instance of the COM object identified by its Type. |
Equals(Object) | Determines whether the specified Object is equal to the current Object. |
Execute(String) | Executes the handler for the specified virtual path in the context of the current request. |
Execute(String, Boolean) | Executes the handler for the specified virtual path in the context of the current request and specifies whether to clear the QueryString and Form collections. |
GetLastError | Returns the previous exception. |
GetType | Gets the Type of the current instance. |
HtmlEncode | Changes an ordinary string into a string with legal HTML characters. |
HtmlDecode | Converts an Html string into an ordinary string. |
ToString | Returns a String that represents the current Object. |
Transfer(String) | For the current request, terminates execution of the current page and starts execution of a new page by using the specified URL path of the page. |
UrlDecode | Converts an URL string into an ordinary string. |
UrlEncodeToken | Works same as UrlEncode, but on a byte array that contains Base64-encoded data. |
UrlDecodeToken | Works same as UrlDecode, but on a byte array that contains Base64-encoded data. |
MapPath | Return the physical path that corresponds to a specified virtual file path on the server. |
Transfer | Transfers execution to another web page in the current application. |
该请求对象是System.Web.HttpRequest类的实例。它表示使页面加载到浏览器中的HTTP请求的值和属性。
该对象提供的信息由更高级别的抽象(Web控制模型)包装。但是,此对象有助于检查某些信息,例如客户端浏览器和cookie。
下表提供了Request对象的一些值得注意的属性:
Property | Description |
---|---|
AcceptTypes | Gets a string array of client-supported MIME accept types. |
ApplicationPath | Gets the ASP.NET application’s virtual application root path on the server. |
Browser | Gets or sets information about the requesting client’s browser capabilities. |
ContentEncoding | Gets or sets the character set of the entity-body. |
ContentLength | Specifies the length, in bytes, of content sent by the client. |
ContentType | Gets or sets the MIME content type of the incoming request. |
Cookies | Gets a collection of cookies sent by the client. |
FilePath | Gets the virtual path of the current request. |
Files | Gets the collection of files uploaded by the client, in multipart MIME format. |
Form | Gets a collection of form variables. |
Headers | Gets a collection of HTTP headers. |
HttpMethod | Gets the HTTP data transfer method (such as GET, POST, or HEAD) used by the client. |
InputStream | Gets the contents of the incoming HTTP entity body. |
IsSecureConnection | Gets a value indicating whether the HTTP connection uses secure sockets (that is, HTTPS). |
QueryString | Gets the collection of HTTP query string variables. |
RawUrl | Gets the raw URL of the current request. |
RequestType | Gets or sets the HTTP data transfer method (GET or POST) used by the client. |
ServerVariables | Gets a collection of Web server variables. |
TotalBytes | Gets the number of bytes in the current input stream. |
Url | Gets information about the URL of the current request. |
UrlReferrer | Gets information about the URL of the client’s previous request that is linked to the current URL. |
UserAgent | Gets the raw user agent string of the client browser. |
UserHostAddress | Gets the IP host address of the remote client. |
UserHostName | Gets the DNS name of the remote client. |
UserLanguages | Gets a sorted string array of client language preferences. |
下表提供了一些重要方法的列表:
Method | Description |
---|---|
BinaryRead | Performs a binary read of a specified number of bytes from the current input stream. |
Equals(Object) | Determines whether the specified object is equal to the current object. (Inherited from object.) |
GetType | Gets the Type of the current instance. |
MapImageCoordinates | Maps an incoming image-field form parameter to appropriate x-coordinate and y-coordinate values. |
MapPath(String) | Maps the specified virtual path to a physical path. |
SaveAs | Saves an HTTP request to disk. |
ToString | Returns a String that represents the current object. |
ValidateInput | Causes validation to occur for the collections accessed through the Cookies, Form, and QueryString properties. |
Response对象代表服务器对客户端请求的响应。它是System.Web.HttpResponse类的实例。
在ASP.NET中,响应对象在将HTML文本发送到客户端方面没有任何重要作用,因为服务器端控件具有嵌套的,面向对象的方法来呈现自身。
但是,HttpResponse对象仍然提供一些重要的功能,例如cookie功能和Redirect()方法。 Response.Redirect()方法允许将用户转移到应用程序内外的另一个页面。它需要往返。
下表提供了Response对象的一些值得注意的属性:
Property | Description |
---|---|
Buffer | Gets or sets a value indicating whether to buffer the output and send it after the complete response is finished processing. |
BufferOutput | Gets or sets a value indicating whether to buffer the output and send it after the complete page is finished processing. |
Charset | Gets or sets the HTTP character set of the output stream. |
ContentEncoding | Gets or sets the HTTP character set of the output stream. |
ContentType | Gets or sets the HTTP MIME type of the output stream. |
Cookies | Gets the response cookie collection. |
Expires | Gets or sets the number of minutes before a page cached on a browser expires. |
ExpiresAbsolute | Gets or sets the absolute date and time at which to remove cached information from the cache. |
HeaderEncoding | Gets or sets an encoding object that represents the encoding for the current header output stream. |
Headers | Gets the collection of response headers. |
IsClientConnected | Gets a value indicating whether the client is still connected to the server. |
Output | Enables output of text to the outgoing HTTP response stream. |
OutputStream | Enables binary output to the outgoing HTTP content body. |
RedirectLocation | Gets or sets the value of the Http Location header. |
Status | Sets the status line that is returned to the client. |
StatusCode | Gets or sets the HTTP status code of the output returned to the client. |
StatusDescription | Gets or sets the HTTP status string of the output returned to the client. |
SubStatusCode | Gets or sets a value qualifying the status code of the response. |
SuppressContent | Gets or sets a value indicating whether to send HTTP content to the client. |
下表提供了一些重要方法的列表:
Method | Description |
---|---|
AddHeader | Adds an HTTP header to the output stream. AddHeader is provided for compatibility with earlier versions of ASP. |
AppendCookie | Infrastructure adds an HTTP cookie to the intrinsic cookie collection. |
AppendHeader | Adds an HTTP header to the output stream. |
AppendToLog | Adds custom log information to the InterNET Information Services (IIS) log file. |
BinaryWrite | Writes a string of binary characters to the HTTP output stream. |
ClearContent | Clears all content output from the buffer stream. |
Close | Closes the socket connection to a client. |
End | Sends all currently buffered output to the client, stops execution of the page, and raises the EndRequest event. |
Equals(Object) | Determines whether the specified object is equal to the current object. |
Flush | Sends all currently buffered output to the client. |
GetType | Gets the Type of the current instance. |
Pics | Appends a HTTP PICS-Label header to the output stream. |
Redirect(String) | Redirects a request to a new URL and specifies the new URL. |
Redirect(String, Boolean) | Redirects a client to a new URL. Specifies the new URL and whether execution of the current page should terminate. |
SetCookie | Updates an existing cookie in the cookie collection. |
ToString | Returns a String that represents the current Object. |
TransmitFile(String) | Writes the specified file directly to an HTTP response output stream, without buffering it in memory. |
Write(Char) | Writes a character to an HTTP response output stream. |
Write(Object) | Writes an object to an HTTP response stream. |
Write(String) | Writes a string to an HTTP response output stream. |
WriteFile(String) | Writes the contents of the specified file directly to an HTTP response output stream as a file block. |
WriteFile(String, Boolean) | Writes the contents of the specified file directly to an HTTP response output stream as a memory block. |
下面的简单示例具有一个文本框控件(用户可以在其中输入名称),一个将信息发送到服务器的按钮以及一个标签控件(用于显示客户端计算机的URL)。
内容文件:
Untitled Page
Button1_Click背后的代码:
protected void Button1_Click(object sender, EventArgs e) {
if (!String.IsNullOrEmpty(TextBox1.Text)) {
// Access the HttpServerUtility methods through
// the intrinsic Server object.
Label1.Text = "Welcome, " + Server.HtmlEncode(TextBox1.Text) + ".
The url is " + Server.UrlEncode(Request.Url.ToString())
}
}
运行页面以查看以下结果: