分享
 
 
 

ASP.NET基础学习(2)-ASP.NET控件

王朝asp·作者佚名  2006-11-24
窄屏简体版  字體: |||超大  

2.1 ASP.net 入门

通常谈一个学科,我们老是说,它入门很简单的嘛,ASP.net也是。ASP.net提出一个概念,就是认为WEB页面,也是一个窗体,所以,学习过面向对象编程的VB VC BC Dephi的朋友,学起来就简单多了。

一个ASP.net页面的后缀名是".aspx",所以,IIS在你安装完ASP.net时,也会把Default.aspx作为你的默认首页,网管朋友一定要注意了。

ASP.net 是后天编译运行的,只是在第一次运行时编译,所以,以后的运行速度比ASP执行快。

2.2 写自己第一个ASP.net的程序

激动吗?很快就开始写第一个程序了,一般学任何语言都要Hello World!一下吧,那我们也来。

在这之前写要说一下,ASP.net的程序可以用任何东西写,甚至是Windows的记事本,当初基督山也很疑惑,要不要用 V Interdev .net 来编写啊,事实证明,那玩意没手写好用。

<%@ Page Language="VB"%> ’说明一下你使用的哪一种语言来写.net的,如果是VB的话,这行可以不写。

<%Reponse.Write ("Hello World")%>

命名 myfirstasp_net.aspx 来我们运行一下,果然,Hello World!

注意,Response.Write 语句,我们原来写成 Response.Write "Hello World!"也是正确的,但在.net中,必须用"("和")"。

2.3 HTML 控件

ASP.net 框架中的第一组控件称为 HTML 控件。这些控件位于 System.Web.UI.HtmlControls 命名空间中,是从 HtmlControl 基类中直接或间接派生出来的。图 1 说明了 HTML 控件的类层次结构。

图 1. ASP+ HTML 控件

几乎所有对于任何包含 runat="server" 属性的标记,都会为其生成 HTML 控件。例如,下面的 HTML 可创建一个名为"textBox1"的 HtmlInputText 控件的实例:

<input type="text" runat="server" id="textBox1" value="some text">

下表中列出了 HTML 控件以及对应的 HTML 标记。

控件 对应的标记

HtmlAnchor <a>

HtmlButton <button>

HtmlSelect <select>

HtmlTextArea <textarea>

HtmlInputButton <input type="button">

HtmlInputCheckBox <input type="check">

HtmlInputRadioButton <input type="radio">

HtmlInputText <input type="text"> 和 <input type="password">

HtmlInputHidden <input type="hidden">

HtmlInputImage <input type="image">

HtmlInputFile <input type="file">

HtmlForm <form>

HtmlImage <img>

HtmlTable <table>

HtmlTableRow <tr>

HtmlTableCell <td>

HtmlGenericControl 任何其它没有对应控件的标记,如 <span>、<div> 等

对于现有的ASP程序,如果向ASP.net移植,毫无疑问HTML控件将发挥最大的作用。

2.4 Web 控件

ASP.net 框架中的第二组服务器控件称为 Web 控件。这些控件位于 System.Web.UI.WebControls 命名空间中,是从 WebControl 基类中直接或间接派生出来的。图 2 说明了 Web 控件的类层次结构。

Web 控件中包括传统的表单控件,如 TextBox 和 Button ,以及其它更高抽象级别的控件,如 Calendar 和 DataGrid 控件。它们提供了一些能够简化开发工作的特性,其中包括:

丰富而一致的对象模型:WebControl 基类实现了对所有控件通用的大量属性,这些属性包括 ForeColor、BackColor、Font、Enabled 等。属性和方法的名称是经过精心挑选的,以提高在整个框架和该组控件中的一致性。通过这些组件实现的具有明确类型的对象模型将有助于减少编程错误。

对浏览器的自动检测:Web 控件能够自动检测客户机浏览器的功能,并相应地调整它们所提交的 HTML,从而充分发挥浏览器的功能。

数据绑定:在 Web 窗体页面中,可以对控件的任何属性进行数据绑定。此外,还有几种 Web 控件可以用来提交数据源的内容。

在 HTML 标记中,Web 控件会表示为具有命名空间的标记,即带有前缀的标记。前缀用于将标记映射到运行时组件的命名空间。标记的其余部分是运行时类自身的名称。与 HTML 控件相似,这些标记也必须包含 runat="server" 属性。下面是一个声明的示例:

<asp:TextBox id="textBox1" runat="server" Text="基督山伯爵">

</asp:TextBox>

在上例中,"asp"是标记前缀,会映射到 System.Web.UI.WebControls 命名空间。

图 2. ASP+ Web 控件

文本显示

Label 控件用于在页面中显示只读的静态文本或数据绑定的文本:

<asp:Label runat="server" Text="Label1" Font-Italic="true">

</asp:Label>

输入控件

Web 控件组中包含的一些控件,允许最终用户输入将由服务器上的页面处理的数据。

TextBox 控件用于提供文本编辑能力。与 Label 控件相似,这里的文本也可以是数据绑定的。TextBox 控件支持多种模式,可以用来实现单行输入、多行输入和密码输入:

<asp:TextBox runat="server" Text="TextBox1"></asp:TextBox>

<asp:TextBox runat="server" Mode="Multiline" Rows="3">

TextBox1

</asp:TextBox>

<asp:TextBox runat="server" Mode="Password"></asp:TextBox>

CheckBox 控件用于生成能够在选中和清除这两种状态间切换的复选框:

<asp:CheckBox runat="server" Text="CheckBox1" Checked="True">

</asp:CheckBox>

RadioButton 控件与 CheckBox 控件相似,但使用时通常会与其它 RadioButton 控件组成一组,以提供一组互斥的选项:

<asp:RadioButton runat="server" Text="RadioButton1" GroupName="Group1" Checked="true">

</asp:RadioButton>

<asp:RadioButton runat="server" Text="RadioButton2" GroupName="Group1"></asp:RadioButton>

选择控件

下面的四个控件提供了允许用户从展示给他们的选项中进行选择的机制。选项列表的内容既可像下面的示例中那样是静态定义的,也可以使用数据源来动态填充。

DropDownList 控件提供了将选项显示为下拉式列表,并从中进行单项选择的能力:

<asp:DropDownList runat="server">

<asp:ListItem Text="Choice1" value="1" selected="true"/>

<asp:ListItem Text="Choice2" value="2"/>

</asp:DropDownList>

ListBox 控件能够以可滚动列表的形式显示选项,并允许从中选择单个或多个选项:

<asp:ListBox runat="server" SelectionMode="Multiple">

<asp:ListItem Text="Choice1" value="1" selected="true"/>

<asp:ListItem Text="Choice2" value="2"/>

</asp:ListBox>

CheckBoxList 控件用于创建一组显示为一列或多列的 Checkbox 控件:

<asp:CheckBoxList runat="server">

<asp:ListItem Text="Choice1" value="1" selected="true"/>

<asp:ListItem Text="Choice2" value="2" selected="true"/>

</asp:CheckBoxList >

RadioButtonList 控件与 CheckBoxList 控件非常相似。不同之处在于,它使用的是一组 RadioButton 控件以创建一组互斥的选项:

<asp:RadioButtonList runat="server">

<asp:ListItem Text="Choice1" value="1" selected="true"/>

<asp:ListItem Text="Choice2" value="2"/>

</asp:RadioButtonList >

表单提交和回传

下列控件用于将带有用户输入值的页面提交给服务器,以便用页面中的代码对这些值进行处理。这些控件会在服务器上产生一个 Click 事件,供您在代码中使用。

Button 控件可以生成一个能够将页面再提交给服务器的三维按钮:

<asp:Button runat="server" Text="单击我"></asp:Button>

LinkButton 控件的行为与 Button 控件相同。但它在页面上会显示为一个超级链接:

<asp:LinkButton runat="server" Text="单击我"></asp:Button>

ImageButton 控件也用于提交页面。它会显示为一幅图像,并且能够提供用户单击位置的 x 坐标和 y 坐标:

<asp:ImageButton runat="server" ImageUrl="net.gif"></asp:Button>

导航

HyperLink 控件用于生成能够跳转到其它 URL 的链接:

<asp:HyperLink runat="server" Text="跟我来" NavigateUrl="MyPage.aspx">

</asp:HyperLink>

图像显示

Image 控件能够在页面上显示图像:

<asp:Image runat="server" ImageUrl="net.gif"></asp:Image>

版面控件

Panel 控件常用作简单的组合控件以及动态创建的控件的容器。(请注意,Panel 控件通常不具有可见的外观。)

<asp:Panel runat="server"></asp:Panel>

Table 控件与相关的 TableRow 和 TableCell 控件相结合,可以用来以编程的方法创建表或表式版面布局:

<asp:Table runat="server" GridLines="Both" BorderWidth="1px">

<asp:TableRow>

<asp:TableCell>[0,0]</asp:TableCell>

<asp:TableCell>[0,1]</asp:TableCell>

</asp:TableRow>

<asp:TableRow>

<asp:TableCell>[1,0]</asp:TableCell>

<asp:TableCell>[1,1]</asp:TableCell>

</asp:TableRow>

</asp:Table>

日期选择

Calendar 控件能够让用户浏览日期并进行日期选择(包括选择日期范围):

<asp:Calendar runat=server DayNameFormat="FirstLetter" ...>

<property name=SelectedDayStyle>

<asp:TableItemStyle Font-Bold="True" BackColor="#CCCCFF"/>

</property>

...

</asp:Calendar>

列表绑定控件

列表绑定控件用于显示与其相关联的数据源或列表的内容。它们提供了创建多种自定义及标准版式的能力。关于数据邦定,我们会用一个章节的内容来完整的说它。

Repeater 控件是一个简单的列表绑定控件,它使用模板(即用于设定版式的 HTML 代码片断)来以一种"朴实无华"的,即没有预定义外观的方式显示数据源的内容:

<asp:Repeater runat="server">

<template name="HeaderTemplate">

<ol>

</template>

<template name="ItemTemplate">

<li>

<a runat="server" href=’<%# DataBinder.Eval(Container.DataItem, "SiteURL") %>’>

<%# DataBinder.Eval(Container.DataItem, "SiteName") %>

</a>

</li>

</template>

<template name="FooterTemplate">

</ol>

</template>

</asp:Repeater>

DataList 控件也使用模板来显示与之绑定的数据源的内容。此外,它还提供了自定义外观格式和布局的功能:

<asp:DataList runat="server">

<template name="ItemTemplate">

<%# DataBinder.Eval(Container.DataItem, "PersonName") %>

...

</template>

...

</asp:DataList>

DataGrid 控件能够创建格式丰富的列表版式,用来显示与之绑定的数据源的内容。它提供了对排序、编辑和分页的支持。

<asp:DataGrid runat="server" ...>

<property name="Columns">

<asp:BoundColumn HeaderText="ID" .../>

...

</property>

...

</asp:DataGrid>

Validation 控件

Validation 控件简化了对用户输入的内容进

[1] [2] 下一页

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有