We have
studied the page life cycle and how a page contains various controls. The page
itself is instantiated as a control object. All web forms are basically
instances of the ASP.Net Page class. The page class has the following extremely
useful properties that correspond to intrinsic objects like:
- Session.
- Application
- Cache
- Request
- Response
- Server
- User
- Trace
We will discuss each of these objects in due time. In this
tutorial we will explore the Server object, the Request object and the Response
object.
The Server Object:
The Server object in Asp.Net is an instance of the
System.Web.HttpServerUtility class. The HttpServerUtility class provides
numerous properties and methods to perform various jobs.
Properties and Methods of the Server object:
The methods and properties of the HttpServerUtility class are
exposed through the intrinsic Server object provided by ASP.NET.
The following table provides a list of the properties:
Property
|
Description
|
MachineName
|
Name of server's computer
|
ScriptTimeOut
|
Gets and sets the request time-out value in seconds.
|
The following table provides a list of some important methods:
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
|
The Request Object:
The request object is an instance of the System.Web.HttpRequest
class. It represents the values and properties of the HTTP request that makes
the page loading into the browser.
The information presented by this object is wrapped up by the
higher level abstractions (the web control model), however, this object helps
in checking some information like the client browser and cookies.
Properties and Methods of the Request Object:
The following table provides some noteworthy properties of the
Request object:
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 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.
|
The following table provides a list of some important methods:
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.
|
The Response Object:
The Response object represents the server's response to the client
request. It is an instance of the System.Web.HttpResponse class.
In ASP.Net, the Response object does not play a vital role in
sending HTML text to the client, because the server-side controls have nested,
object oriented methods for rendering themselves.
However, the HttpResponse object still provides some important
functionalities, like the cookie feature and the Redirect() method. The
Response.Redirect() method allows transferring the user to another page, inside
as well as outside the application. It requires a round trip.
Properties and Methods of the Response Object:
The following table provides some noteworthy properties of the
Response object:
Property
|
Description
|
Buffer
|
Gets or sets a value indicating whether to buffer output and
send it after the complete response is finished processing.
|
BufferOutput
|
Gets or sets a value indicating whether to buffer 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.
|
The following table provides a list of some important methods:
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.
|
Example:
The following simple example has a text box control where the user
can enter name, a button to send the information to the server and a label
control to display the URL of the client computer.
The content file:
<%@ Page Language="C#"
AutoEventWireup="true"
CodeBehind="Default.aspx.cs"
Inherits="server_side._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>Untitled Page</title>
</head>
<body>
<form id="form1" runat="server">
<div>
Enter your name:<br />
<asp:TextBox ID="TextBox1"
runat="server"></asp:TextBox>
<asp:Button ID="Button1" runat="server"
OnClick="Button1_Click"
Text="Submit" />
<br />
<asp:Label ID="Label1" runat="server"/>
</div>
</form>
</body>
</html>
|
The code behind for 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) +
".<br/> The url is " +
Server.UrlEncode(Request.Url.ToString());
}
}
|
Run the page to see the following result
No comments:
Post a Comment