ASP.NET Controls
Download
Report
Transcript ASP.NET Controls
ASP.NET Controls
Lecture Overview
Identify the types of controls supported by
ASP.NET and the differences between them
Categorizing Controls
There are two types of controls used in
ASP.NET
HTML controls are standard HTML controls
understood by the browsers
ASP.NET (Web) controls are processed by the
server (IIS) and mapped to a complex array of
HTML controls
HTML Controls
Always map directly to HTML tags
All attributes are strictly compatible with
HTML
They allow you to perform
‘some’ server side
processing
Web Server Controls
Are implemented by the ASP server as .NET
Framework classes having a common .NET
programming interface
It works very similar to the desktop applications
Web Server controls often
have a richer
programming interface
Categorizing Server Controls
ASP.NET
CONTROLS
HTML CONTROLS
WEB CONTROLS
The runat Attribute
The runat attribute makes a server control a
server control
This is true for both HTML and Web controls
All tags without the runat attribute are
copied verbatim to the output stream (HTTP
response)
<asp:TextBox ID="TextBox3"
runat="server"></asp:TextBox>
Generalities
HTML controls and Web controls can
sometimes do the same thing
HTML controls can be used to conditionally
create client-side script
Web controls generally provide a ‘richer’
programmatic interface
We often use a mix of both
ASP.NET Server Controls (1)
These are unique to ASP.NET
All are contained in the
System.Web.UI.WebControls namespace
All derive from WebControl
runat=“server” attribute is required or the
markup will be rendered verbatim
The programming interface is intuitive and
feels like attaching event handlers to desktop
controls
ASP.NET Server Controls (2)
Controls are objects having methods,
properties and events
Buttons are clicked
SelectedIndexChanged fires for list boxes
and combo boxes
The wiring is a bit different
ASP.NET Server Controls
(Event Wiring 1)
ASP.NET Server controls have support events
similar to their desktop countertops
Names Match
ASP.NET Server Controls
(Properties 1)
ID – Name that will be used to reference the control
instance programmatically (It’s the Name property
that you are used to in VB)
Page – Page object on which the control resides
Parent – parent control instance
Use for container controls
Visible – Make the control instance visible or
invisible
EnableViewState defines whether contents are
persisted through view state
ASP.Net Server Controls
(Properties 2)
The Style property contains references to a
collection of CSS style
MyControl.Style[“border-color”] =
blue;
The CssClass property contains the name
of a defined CSS class
txtStyleDemo1.CssClass = "TextBox"
ASP.NET Server Controls
(Methods)
Focus – sets input focus to the control
instance when it is rendered
HasControls – denotes whether this
control instance has child controls
Controls – a collection of child controls
DataBind – binds the control instance to a
data source
ASP.NET Server Controls
(Events)
Same page and control events discussed in
the previous chapter
Init – First step in the life cycle
Load – occurs when the control is loaded into the
page
PreRender – fires just before the control is
rendered
Unload – control has been rendered. Use only to
close files or release connections
Web Forms Controls (List)
Buttons get clicked
LinkButton and Button
A menu does as the name implies
A CheckBox gets checked
You select items from a DropDownList
The RadioButton allows us to select an item
from a list of items
ASP Button and
LinkButton
Cause a post back by
Handing the OnClick event
Set the PostBackUrl to the desired page
(URL)
Handle the onCommand and use the value of
the CommandName property
Creates a multi-cast event handler
ASP Menu
Create an outer element named Menu
Inside the menu create an a list of <Items>
Inside the list of <Items> create a list of
<MenuItem>
Set the Text attribute to the visible menu item
text
Set the NavigateUrl attribute to the desired
page
ASP Menu
ASP CheckBox
Determine whether the box is check by
reading the Checked property
Set AutoPostBack to true to handle the
onCheckedChanged event
ASP DropDownList
ASP RadioButton
Help Pages (Note)
HTML Controls (Overview)
HTML controls are similar to ordinary HTML
controls
However, with the runat=“server” attribute
added
ASP.NET adds a programmatic way to interact
with the control instances on the server
ASP.NET controls are part of the
System.Web.UI.HtmlControls namespace
HTML Controls (Interface)
All HTML controls inherit from the
HtmlControl class
The properties are simple
Attributes returns a collection of attribute /
key value pairs
Style gets a CSS collection of applied CSS
properties
Disabled indicates whether the control is
disabled
HTML Controls (Categories)
HtmlInputControl – These represent the
variations of the <input> tag
HtmlContainerControl – These are
Tables and other controls that contain other
controls
See table 4-4 on page 113-114
Other – Other controls such as <img> <a>
HTML Control (Example)
Mark a <div> tag as a servers-side control
Store the date as the control’s inner HTML
Using Server Controls
with JavaScript
So far, we have seen both client and server controls
But how do we get client-side JavaScript into our
ASP.NET pages and call that code from the client?
Include client-side script into script blocks
Create dynamically with
RegisterClientScriptBlock and
RegisterStartupScript
As you will see, some controls rely on JavaScript to
operate (LinkButton) ASP generates the code
RegisterClientScriptBlock
Code is placed at the top of the page
Thus, the code executes “before” the page
has completely loaded
Good to register functions but bad for
referencing controls
RegisterStartupScript
Code is placed at the end of the page
Use when you want to reference other page
controls
Remember that HTML pages rendered and the
DOM is processed sequentially
RegisterClientScriptInclude
Again, the code appears at the beginning of
the page
Use to grab a bunch of JavaScript from a file
HTML Controls <a>
The HTMLAnchor class implements <a> tags
<a> tags designated runat=“server” and
having an id will be seen by the server
<a id="BusinessNews"
runat="server"></a>
HTML Controls <a>
The href property contains the link
Store the text in InnerHtml or InnerText
BusinessNews.HRef=
"http://bloomberg.com";
BusinessNews.Title =
Business news channel";
BusinessNews.InnerHtml =
"<b>BusinessNews</b>";
HTML Input Controls
All input controls derive from
HtmlInputControl
Name is the read-only property containing the
control name
Type property mirrors the Type attribute
Value contains text appearing in the control
instance
The ServerChange event
It fires for most HTML controls to denote that
the control’s contents have changed from one
postback to the next
Use for check boxes, radio buttons, text boxes,
etc.