ASP.NET.in.a.Nutshell.Second.Edition [Electronic resources] نسخه متنی

اینجــــا یک کتابخانه دیجیتالی است

با بیش از 100000 منبع الکترونیکی رایگان به زبان فارسی ، عربی و انگلیسی

ASP.NET.in.a.Nutshell.Second.Edition [Electronic resources] - نسخه متنی

G. andrew Duthie; matthew Macdonald

| نمايش فراداده ، افزودن یک نقد و بررسی
افزودن به کتابخانه شخصی
ارسال به دوستان
جستجو در متن کتاب
بیشتر
تنظیمات قلم

فونت

اندازه قلم

+ - پیش فرض

حالت نمایش

روز نیمروز شب
جستجو در لغت نامه
بیشتر
لیست موضوعات
توضیحات
افزودن یادداشت جدید










5.2 Web Controls


One of the challenges in developing web applications is that of providing
support for different browsers that have different capabilities,
proprietary extensions to HTML, and support for different scripting
languages, while maintaining the desired level of functionality and
consistency. The only way to render content consistently is to detect
the browser type and send the appropriate version of the page to that
browser. ASP.NET web controls relieve us of this burden by sniffing
the browser type and sending the appropriate content based on the
capabilities of the browser. ASP.NET server controls use HTML 3.2 for
the down-level clients (older browsers that do not support DHTML and
CSS) and can generate Dynamic HTML for the up-level clients (such as
Internet Explorer 5.5 or later). In the current release of ASP.NET,
the only controls that make extensive use of DHTML in up-level
browsers are the validation controls (which are discussed in more
detail in Section 5.4.8
later in this chapter). Other controls, such as the Button server
control, use client-side JavaScript for initiating postbacks.
These postback scripts are designed to work with any
Javascript-compatible browser.

Web controls provide an abstract, consistent, and strongly typed
object model. They are abstract because their object model does not
necessarily reflect HTML syntax. These controls include standard
controls like text boxes and radio buttons, as well as rich controls
like calendars and data grids. Web controls are always declared with
the ASP namespace prefix, sometimes using
self-closing tags as follows:

<asp:textbox id="txtName" text="Hello, World!" runat="server" />

You can alternatively declare a web control by using an opening and
closing tag pair. For certain controls, such as the Label and TextBox
controls, any text contained between the opening and closing tags
will be assigned to the Text property of the control. Thus, the
following code fragment is equivalent to the previous one:

<asp:textbox id="txtName" runat="server">
Hello, World!
</asp:textbox>

Like element and attribute names in page declarations, the tag and
attribute names used to create server controls declaratively are not
case-sensitive. However, because the HTML 4.0 standard specifies that
tags and attributes should be in lowercase, it's
good coding practice to follow this guideline, even though server
control tags are not sent to the browser.


When creating controls programmatically (as discussed later in this
chapter), if the language you're using is
case-sensitive (such as C#), you'll need to use the
correct case when creating controls (e.g.,
"TextBox" versus
"textbox"). Likewise, when you
assign an ID to a control using the id attribute
of a server control tag, case matters with a case-sensitive language.
That is, given the following tag in a .

aspx page
written in C#:

<asp:Label id="myLabel" runat="server"/>

this code will cause a compiler error:

MyLabel.Text = "Hello, World!";

while this code will work correctly:

myLabel.Text = "Hello, World!";

The attributes of web controls declared using the ASP.NET syntax
become the properties of the control, and you can access them
programmatically. Unlike the HTML controls, the object model of the
web controls does not necessarily reflect HTML syntax. The main
reason for this behavior is that, depending on the attributes applied
to a web control, it may render one of many HTML elements to the
browser. For example, <asp:textbox> can
render <input
type="text">, <input
type="password">, or
<textarea>, based on the value of the
TextBoxMode attribute supplied by the developer at
design time.


    / 873