Title: ASP'NET
1ASP.NET
- Dynamic Styles
- Response and Request Objects
2Dynamic Styles
- DHTML is a browser phenomenon, using JavaScript
to manipulate the properties and methods of HTML
tags in response to user or browser events. - Under ASP.NET these same style settings can take
place, in this case through server scripts rather
than browser scripts
3Dynamic Styles
- ltSCRIPT language"javascript"gt
- function Format()
- document.all.BROWSERButton.style.backgroundColor
"FF0000 - document.all.BROWSERButton.style.fontFamily
"comic sans ms - document.all.BROWSERButton.style.fontSize
"12pt - document.all.BROWSERButton.style.width "150px
- document.all.BROWSERButton.value "Thank
You"lt/SCRIPTgtltinput id"BROWSERButton"
type"button" value"Click Me" onClick"Format()
style"background-colorsteelblue
colorFFFFFF font-familyarial font-size10pt
width100 cursorhand"gt
4Built-in ASP Objects
- Response Object
- Send text, data and cookies to the browser and
control each stage of transmitting the page - Server Object
- Overall scripting control, set the timeout
variable for the script - Request Object
- Read submitted form data, cookies and server
variables
5Built-in ASP Objects
- Session Object
- Allows to attach data to a specific user browsing
the site that is isolated and invisible to other
users (user session is identifiable by the cookie
that is sent every time a user makes a request)
(stay active by default until 20 minutes after
the users last request or until the session is
explicitly abandoned through the code) - Application Object
- Allows to manipulate global data in the script
that will be visible to all users browsing the
site (ASP application itself)
6RESPONSE OBJECT
- Gives control over what data and data types sent
to the client in the headers of HTTP response - Gives control over what data and data types sent
to the client in the body of HTTP response - Gives control over when and how data is sent
7RESPONSE OBJECT- Properties/Methods
8RESPONSE OBJECT Write (ASP)
- Writes information directly to the HTTP response
body. - lt
- Response.Write lttable border1gt
- Response.Write lttrgt
- Response.Write lttdgt
- Response.Write Hello
- Response.Write lt/tdgt
- Response.Write lt/trgt
- Response.Write lt/tablegt
- gt
9RESPONSE OBJECT Write (.NET)
- Response.Write() statements are placed throughout
a script to trace the processing sequence and to
write the contents of a variable. - ltSCRIPT runat"server"gtSub ProcessThis (Src As
Object, Args As EventArgs) Response.Write("Start
of ProcessThis" "ltbrgt") ... ... Response.
Write("End of ProcessThis" "ltbrgt") ProcessThat
End Sub
10RESPONSE OBJECT Write (.NET)
Sub ProcessThat Response.Write("Start of
ProcessThat" "ltbrgt") Dim VarA
"Howdy" ... ... Response.Write("Value of
VarA " VarA "ltbrgt") Response.Write("End
of ProcessThat" "ltbrgt")End Sub lt/SCRIPTgt
11RESPONSE OBJECT Write (.NET)
ltaspButton Text"Trace" OnClick"ProcessThis"
runat"server" /gt Result Start of
ProcessThisEnd of ProcessThisStart of
ProcessThatValue of VarA HowdyEnd of
ProcessThat
12RESPONSE OBJECT - Redirect
- Redirects the clients request to another URL.
- Response.Redirect http//www.mis.boun.edu.tr
- Response.Redirect x.asp
- x.asp resides in the same folder as the
requested page - If the script has written any content to the HTTP
response body, that content is ignored by the
script once the call to the Redirect method is
executed.
13Response.Redirect (ASP)
- lt Response.Redirect "http//www.mis.boun.edu.tr"
gt - ltHTMLgt
- ltBODYgt
- xx
- lt/BODYgt
- lt/HTMLgt
14Response.Redirect (.NET)
- ltSCRIPT runat"server"gtSub GoBack (Src As
Object, Args As EventArgs) Response.Redirect("as
pnet02-06.aspx")End Sublt/SCRIPTgtltaspButton
Text"Go Back" OnClick"GoBack" runat"server" /gt
15RESPONSE OBJECT - IsClientConnected
- The Response.IsClientConnected property is useful
when you need to make sure that the visitor is
still connected to your Web site. - This issue arises when, say, you are conducting
e-commerce with a customer. If you have just
completed processing a set of transactions for a
purchase being made, you might wish to check that
the customer has not abandoned your site before
finalizing those transactions.
16RESPONSE OBJECT - Buffer
- Determines whether the content created by the
script is delivered to the client browser as a
whole or send immediately to the client browser
as each line is created and entered into the HTML
stream - If set to TRUE, then all script on the page is
run before the results of that script are sent to
the client browser - lt Response.Buffer True gt
17RESPONSE OBJECT - Clear
- Empties the current contents of the Response
buffer. - It does so without sending any of the buffered
response to the client.
18RESPONSE OBJECT - End
- Ends all storage of information in the response
buffer and sends the current contents of the
buffer immediately to the client. - Any code present after the call to the End method
is not processed.
19Response.Buffer/Clear/End
- lt Response.Buffer True gt
- ltHTMLgt ltBODYgt
- lt
- Dim err
- err 1
- If Err ltgt 0 Then
- Response.Clear
- Response.Write "Error Created"
- Response.End
- End If
- gt
20Example Get System Time (ASP)
- lt LANGUAGEVBSCRIPT gt
- lthtmlgt ltbodygt
- lt If Minute(Now) lt 30 Then gt
- Before Half
- lt Else gt
- After Half
- lt End If gt
- of
- lt response.write (Hour(Now)) gt
- lt/bodygt lt/htmlgt
- Screen
- After half of 9
- Source
- lthtmlgt ltbodygt
- After Half
- of
- 9
- lt/bodygt lt/htmlgt
21Example System Time
- lt whennow()
- twoweekslaterdateadd("w",2,when)
- monthlaterdateadd("m",1,when)
- sixminuteslaterdateadd("n",6,when)
- sixhourslaterdateadd("h",6,when)
- response.write "Now ltbgt" when "lt/bgtltbrgt"
- response.write "1 month from Now ltbgt"
monthlater "lt/bgtltbrgt" - response.write "2 weeks from Now ltbgt"
twoweekslater "lt/bgtltbrgt" gt six minutes from
now ltbgt - ltsixminuteslatergt lt/bgtltbrgt six hours from now
ltbgt - ltsixhourslatergt lt/bgtltbrgt
22ASP - REQUEST OBJECT
- Collections
- Form (POST)
- Server Variables
- QueryString (GET)
- Cookies
- ClientCertificate
- Method
- BinaryRead
- Properties
- TotalBytes
23REQUEST OBJECT- HttpRequest Class
HttpRequest class provides a Request object that
contains information about a URL request issued
for a Web page. In general, the Request object
pertains to Web page input, with a set of
properties that provide information about the URL
request received by the page
24REQUEST OBJECT- ServerVariables
Contain several predefined environment variables
in the context of the clients specific HTTP
request of the web server.
25REQUEST OBJECT- ServerVariables
ltSCRIPT runat"server"gtSub Page_Load Browser.
Text Request.Browser.Browser BrowserVersion.Te
xt Request.Browser.Version BrowserPlatform.Tex
t Request.Browser.PlatformEnd Sub lt/SCRIPTgt
26REQUEST OBJECT- ServerVariables
lthtmlgtltbodygtlth3gtProperties of your request for
this pagelt/h3gtltbgtBrowser Type lt/bgtltaspLabel
id"Browser" runat"server"/gtltbrgtltbgtBrowser
Version lt/bgtltaspLabel id"BrowserVersion"
runat"server"/gtltbrgtltbgtBrowser Platform
lt/bgtltaspLabel id"BrowserPlatform"
runat"server"/gtltbrgt lt/bodygtlt/htmlgt
27REQUEST OBJECT- ServerVariables
Output of the script is shown below Properties
of your request for this page Browser Type
IEBrowser Version 6.0Browser Platform WinXP
28REQUEST OBJECT- Browser Properties
29REQUEST OBJECT- Browser Properties
30REQUEST OBJECT- Browser Properties
31REQUEST OBJECT- Browser Properties
32REQUEST OBJECT- Browser Properties
33REQUEST OBJECT- Browser Properties
34REQUEST OBJECT- Browser Properties
35REQUEST OBJECT- Browser Properties
36REQUEST OBJECT- Browser Properties
37REQUEST OBJECT- ServerVariables
- Possible Keys
- REMOTE_ADDR TCP/IP of the client
- REMOTE_HOST The IP address from which the web
server receives the request - REQUEST_METHOD Get, Post, etc.
- SERVER_NAME Web servers TCP/IP
- HTTPS ON if the clients request is using SSL.
- ALL_HTTP One long string containing al the HTTP
headers send by the clients browser.
38REQUEST OBJECT- ServerVariables
- Possible Keys
- LOGON_USER Windows NT account with which the
user has logged onto the system - URL The base URL requested by the client in its
HTTP request. - SERVER_PORT The server port to which the
clients HTTP request is sent. - lt
- Dim strUserName
- strUserNameRequest.ServerVariables(LOGON_USER)
- gt
39Get IP
- ltHTMLgt ltBODYgt
- lt Dim strUserName strUserNameRequest.ServerVaria
bles - ("REMOTE_ADDR")
- Response.Write strUserName
- gt
- merhaba
- lt/BODYgt lt/HTMLgt
40GET vs. POST
- GET can be used to retrieve any document, POST
cannot - GET and POST can be used to pass data to the
object indicated by the URL - When POST is used, the data is passed to the
server in the body of the request message - When GET is used, the data is included in the URL
as argument string and needs to be parsed
41REQUEST OBJECT- Form (POST)
- User enters input into the fields of a form
- When form is submitted, data in each field is
transferred to the server, and then to ASP - Data is sent in the format
- name value
- name (attribute of ltINPUTgt)
-
42HTTP Request Header
- Create the form
- lthtmlgt ltbodygt lth2gt Sample Order lt/h2gt
- ltform methodpost actionresponse.aspgt
- ltpgt First Name ltinput name fname size48gt
- ltpgt Last Name ltinput name lname size48gt
43HTTP Request Header
- ltpgt Title ltinput nametitle typeradio
- valuemrgt Mr.
- ltinput nametitle typeradio valuemsgt Ms.
- ltpgt ltinput typesubmitgt ltinput typeresetgt
- lt/formgt lt/bodygt lt/htmlgt
44Response.asp
- You should use the Form collection of the
Request object to manipulate information - lt title request.form(title)
- lastname request.form(lname)
- If title mr Then gt
- Mr. lt lastname gt
- lt ElseIf title ms Then gt
- Ms. lt lastname gt
- lt Else gt
- lt request.form (fname) lastname gt
- lt End If gt
45REQUEST OBJECT-TotalBytes
- TotalBytes property is a read-only value that
specifies the total number of bytes posted to the
web server by the client in the HTTP request
body. - Var Request.TotalBytes
46REQUEST OBJECT-Client Certificate
- Provides access to the certification fields of
the clients digital certificate. - Client certificates are sent to the web server
when a clients browser supports the Secure
Sockets Layer and that browser is connected to a
web server running the SSL (https//). - Request.ClientCertificate
47REQUEST OBJECT-Client Certificate
- Subject A list of comma-delimited strings that
provide information about the owner of the
digital certificate. - Issuer Information about the issuer.
- ValidFrom and ValidUntil Validation dates
- SerialNumber An ASCII representation
- Ex 0A-B7-34-23
- Certificate A string value that contains the
entire binary stream from the certificate
content. - Flags Provide additional information such as
presence of certificate.
48REQUEST OBJECT-Client Certificate
- Request.ClientCertificate (IssuerC)
- Retrieve the country of origin for the Issuer.
- Request.ClientCertificate (SubjectO)
- Retrieve the organization of the Subject.
49Session Tracking
- HTTP is a stateless protocol that does not
support persistent connections that would enable
Web servers to maintain state information
regarding clients. - A session ID represents a unique client on the
Internet. If the client leaves a site and returns
later, the client will still be recognized as the
same user. - To help the server distinguish among clients,
each client must identify itself to the server. - The tracking of each individual clients, known as
session tracking, can be achieved in a number of
ways.
50Session Tracking
- Session tracking ways
- Use of input form elements of type hidden and
sending them to the form handler on the Web
server. - Use of HttpSessionState object
- Cookies
51Cookies
- Cookie Small pieces of information stored by the
web server on the web clients machine. - This information is sent to the server each time
the client requested a page from the same area
from which the information was received. - A cookie is a text file.
52Cookies
- Domain Returns a String containing the cookies
domain. This determines which web server can
receive the cookie. - Expires Returns a DateTime object indicating
when the browser can delete the cookie. - Name Returns a String containing the cookies
name.
53Cookies
- Path Returns a String containing the URL prefix
for the cookie. - Secure Returns a Boolean value indicating
whether the cookie should be transmitted through
a secure protocol. The value True causes a secure
protocol to be used. - Value Returns a String containing the cookies
value.
54Cookies
- Send Cookie
- Response.Cookies("Cust").Name"BE"
- Response.Cookies("Cust").Expirestime.AddDays(10)
- Get Cookie
- Request.Cookies("Cust")
- Delete Cookie
- Response.Cookies("Cust").Expires Date 365
- ' Deleted by setting expiration date to a past
date
55Session
- A user Session is created by ASP.NET whenever a
visitor arrives at any Web page located in your
root application directory. - A Session Object maintains identification
information about the visitor and allows ASP.NET
to differentiate between visitors and their
browsing status as they navigate the Web site.
56SessionID
- Your visit to this site, for instance, can be
identified by the SessionID value, - Session.SessionID "filyqavdzfnqrj45ofykaeel"
- SessionID value is a random number that was
generated when you first arrived at the site. - Session remains alive until 20 minutes after your
last interaction with a page or until you close
your browser. - A revisit generates a new SessionID number.
57Session Variable
- The Session Object also serves as a global
storage area that scripts can use to maintain
data values between pages. - A Session variable is created by assigning a
value to a name - Session("name") "value"
58HttpSessionState Properties
- Count Specifies the numebr of key-vaue pairs in
the Session object. - IsNewSession Indicates whether this is a new
session. - IsReadOnly Indicates whether the Session object
is read only. - Keys Returns an object containing the Session
objects keys.
59HttpSessionState Properties
- SessionID Returns the sessions unique ID.
- Session.SessionID
- Timeout Specifies the maximum number of minutes
during which a session can be inactive before the
session expires. - Session.Timeout
- Session.Add(TR,2005)
- Store in session as name-value pair
60HttpSessionState Properties
- SessionID Returns the sessions unique ID.
- Session.
- Timeout Specifies the maximum number of minutes
during which a session can be inactive before the
session expires. - Session.Timeout