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 by the higher level abstractions
(the web control model). However, this object helps in checking some information such
as 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 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.
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.
MapImageCoordinate Maps an
s 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 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 any 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 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.
IsClientConnecte Gets a value
d 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 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:
aa