280 likes | 486 Views
ASP.NET Controls. ASP includes normal HTML elements Server-side controls are objects that provide corresponding HTML output. You can set their properties, call methods and program events on them. Server Controls. Four types of server controls:
E N D
ASP.NET Controls • ASP includes normal HTML elements • Server-side controls are objects that provide corresponding HTML output. • You can set their properties, call methods and program events on them
Server Controls • Four types of server controls: • HTML server controls: server-based equivalent for standard HTML elements • Web controls: more object properties and events + new types of controls not in HTML • Validation controls: check user inputs • User controls: developer designed controls • More controls in ASP.NET 2.0
HTML Server Controls • An object interface for standard HTML elements • Generate equivalent interface • Retain their state • Fire events • Add the attribute “runat=serevr” and an id to the HTML element start tag
HTML Server Controls • Traditional HTML form <html> <body> <form method="post"> Enter Number of hours: <input type=text > <input type=submit value="convert to seconds"> </form></body></html> • ASP.NET HTML server controls <HTML><BODY> <form method="post" runat="server“ > Enter Number of hours: <input type=text runat="server" id="hours"> <input type=submit value="convert to seconds" runat="server" id="convert"> </form></Body></HTML> • Run server-control file and see the generated code
HTML Server Controls • Automatically maintain state of controls in the page using the hidden field which is compressed and encrypted code. • Exists in System.Web.UI.HTMLControls • Note: An .aspx page can only contain ONE <form runat="server"> control! • Two types of events: ServerClick, ServerChange
HTML Server Control Description HtmlAnchor Controls an <a> HTML element HtmlButton Controls a <button> HTML element HtmlForm Controls a <form> HTML element HtmlGeneric Controls other HTML element not specified by a specific HTML server control, like <body>, <div>, <span>, etc. HtmlImage Controls an <image> HTML element HtmlInputButton Controls <input type="button">, <input type="submit">, and <input type="reset"> HTML elements HtmlInputCheckBox Controls an <input type="checkbox"> HTML element HtmlInputFile Controls an <input type="file"> HTML element HtmlInputHidden Controls an <input type="hidden"> HTML element HtmlInputImage Controls an <input type="image"> HTML element HtmlInputRadioButton Controls an <input type="radio"> HTML element HtmlInputText Controls <input type="text"> and <input type="password"> HTML elements HtmlSelect Controls a <select> HTML element HtmlTable Controls a <table> HTML element HtmlTableCell Controls <td>and <th> HTML elements HtmlTableRow Controls a <tr> HTML element HtmlTextArea Controls a <textarea> HTML element
HTMLServer Control Properties • Similar properties as HTML attributes: • Input controls: value , type • Img: src, width, height, .. • HTML Container Controls: InnerText, InnerHtml • All HTML controls have: • Disabled, visible, TagName, Style, Page
Web Controls • Provide rich user interface (mapped to more than one HTML element) • Provide more properties, events and methods than HTML tags • Detect browser type and adjust output automatically • Server controls automatically maintain any client-entered values between round trips to the server. This control state is not stored on the server (it is instead stored within an <input type="hidden"> form field that is round-tripped between requests).
Web Server Control Description Button Displays a push button CheckBox Displays a check box CheckBoxList Creates a multi-selection check box group DropDownList Creates a drop-down list HyperLink Creates a hyperlink Image Displays an image ImageButton Displays a clickable image Label Displays static content which is programmable (span) LinkButton Creates a hyperlink button ListBox Creates a single- or multi-selection drop-down list Panel Provides a container for other controls RadioButton Creates a radio button RadioButtonList Creates a group of radio buttons Table Creates a table TableCell Creates a table cell TableRow Creates a table row TextBox Creates a text box
Web Controls • Tags start with prefix “asp:” then class name • Attribute runat=server • ASP.NET add “name” attribute to controls to track them. • Object properties are mapped to attributes <asp:TextBox id=“T1” runat=“server”> </asp:TextBox> <input type=text name=“T1” id=“T1” /> • Defined in System.Web.UI.WebControls
Web Controls • All web controls have: • BackColor, BorderColor and ForeColor • BorderWidth, BorderStyle • Font • Height, Width • TabIndex, AccessKey • Enabled, visible, EnableViewState • TextBox control properties: • TextMode: SingleeLine, MultipleLine, Password • MaxLength: maximum number of characters accepted • Columns: width of the control • Rows: display height of the control
Web Controls • Button / label: • text • CheckBox / RadioButton : • Text: (label next to the control) • TextAlign: text alignment relative to control • Checked • Panel: Group a number of controls • BackImageUrl
Web Controls • Table: • Properties: BackImageUrl, CellPadding, Cellspacing, GridLines • Rows a collection of TableRow objects • TableRow • Cells: a collection of TableCell objects • TableCell • ColumnSpan/RowSpan • HorizontalAlign / VerticalAlign • text
List Controls • ListBox, DropDownList, CheckBoxList, RadioButtonList • Items: Collection of “ListItem” objects, which has: • text : Displayed word • value : hidden value in HTML code • Selected: boolean • Properties: SelectedIndex, SelectedItem • Multiple selection for ListBox, set “SelectionMode” property • RadioButtonList/ CheckBoxList properties: • RepeatColumns, RepeatDirection, RepeateLayout, TextAlign
Web Control Events • Events types: Click, TextChange, CheckChanged, SelectedIndexChanged • Change events have their autoPostBack property false by default. • ASP.NET adds a Java Script code that handles the postback to the server when a server side control event has occurred • Two hidden fields (id of triggered control, and additional information)
Page Lifecycle • When the user changes a control that has autopostback set to true: • Java script is invoked and the page is resubmitted • ASP.NET recreates page object from .aspx file • ASP.NET retrieves state information from hidden fields and updates controls • Execute Page_load event handler • Execute appropriate event handlers • Execute page_unload event handler and render page • Send page to client
Page Processing Steps Web page request ASP.NET creates page objects from aspx code Client ASP.NET runs Page.load event handler HTML output returned Final page is rendered Page postback ASP.NET creates page objects from aspx code ASP.NET runs Page.load event handler ASP.Net runs any other Triggered event handler HTML output returned Final page is rendered
Validation Controls • This set of controls provides Rapid Application Development (RAD) features for automatically checking the specified validity of user inputs. • Available in the System.Web.UI.WebControls namespace. • Types of user errors • Forget to fill an important field • Submitting the wrong type of data • Submitting the data in a wrong format
Validation Controls • HTML does not facilitate validation of user input • ASP.NET provide validation controls that checks the user input before submitting the form • Utilizes client-side DHTML to provide fast response
Validation Controls • RequiredFieldValidator • RangeValidator • CompareValidator • RegularExpressionvalidator • CustomValidator • ValidationSummary
Validation Controls • To activate the validation controls before the form is submitted, set button property “Causes Validation” to true • Each validation control is bound to one input control. • An input control may have multiple validation controls
Validation Controls • Common properties • ControlToValidate • ErrorMessage: text to display if validation fails • ForeColor • Display: add message dynamic or static • IsValid: true or false depending on the validation result • Enabled • EnableClientSideScript
Validation Controls • RequiredFieldValidator • initialValue • RangeValidator • MaximumValue, MinimumValue, Type • CompareValidator • ControlToCompare, Operator,Type, ValueToCompare • RegularExpressionvalidator • ValidationExpression
Validation Summary • Displays all the errors that happened in the page in one area • Message in the errorMessage properties will be displayed in the summary • Display mode: list or bullet list or paragraph • Other properties • HeaderText • ShowMessageBox / ShowSummary