‘壹’ Web关于文本框与下拉框的问题
下拉框传回服务端的值是被选中的那一个,把下拉框中新添加的项选中就行了。
还有问题可以追问或HI我~
‘贰’ vs2019web窗体没有page下拉框
web窗体创建之后没有page下拉框,要
‘叁’ ASP.NET里用户控件和WEB窗体的区别
用户控件使程序员能够很容易地跨ASP.NET WEB应用程序划分和重复使用公共UI功能。与WEB窗体页相同,程序员可以使用任何文本编辑器创作用户控件,或者使用代码隐藏类开发用户控件。此外,与WEB窗体页一样,用户控件可以在第一次请求时被编译并存储在服务器内存中,从而缩短以后请求的响应时间。但与WEB窗体页不同的是,不能独立地请求用户控件,用户控件必须包括在WEB窗体页内才能使用。
与服务器端包含文件(SSI)相比,用户控件通过访问由ASP.NET提供的对象模型支持,使程序员具有更大的灵活性。程序员可以对在控件中声明的任何属性进行编程,而不只是包含其他文件提供的功能,这与其他任何ASP.NET服务器控件一样。
尽管在创作用户控件时需要选择一种语言,但程序员可以将多个用户控件包含在用多种语言创作的一个WEB窗体页中。例如,可以用Visual Basic.NET创造一个用户控件,导入来自XML文件的数据,再用C#创建另一个用户控件,该控件包含一个订单窗体,然后在同一个WEB窗体页中包括这两个控件。
此外,可以独立于包含用户控件的WEB窗体页中除该控件以外的部分来缓存该控件的输出。这一技术称作片段缓存,适当地使用该技术能够提高站点的性能。例如,如果用户控件包含提出数据库请求的ASP.NET服务器控件,但该页的其余部分只包含文本和在服务器上运行的简单代码,则程序员可以对用户控件执行片段缓存,以改进应用程序的性能。
2、创建用户控件
可以通过使用文本或HTML编辑器以声明方式创建用户控件。用户控件声明语法与创建WEB窗体页所采用的语法十分类似;两者的主要差别在于用户控件在内容周围不包括<html>、<body>和<form>元素。在包含用户控件的WEB窗体页中包括这些元素。
用户控件可以像文本文件一样简单,或者它们可以包含其他ASP.NET服务器控件。以下过程简要介绍了一个可包括在应用程序多个页上的简单登录窗体。
在代码声明块中公开属性、事件处理程序以及要包括在用户控件功能中的其他任何代码。在使用用户控件的属性时有两个选择。首先,可以定义用户控件的新属性并操作它们。其次,可以操作构成用户控件的服务器控件的属性。例纾�谟没Э丶�猩�鱐extbox WEB服务器控件,并向它提供一个ID为PASSWORD,则可以通过使用PASSWORD. Text语法来操作其Text属性。
【注意】当用户控件包括在WEB窗体页中时,此用户控件中包含的任何ASP.NET服务器控件的所有属性和方法都将提升为此用户控件的公共属性和方法。
步骤1:以下代码示例声明映射到步骤1中代码的文本框的UserId和Password属性。可以通过声明或编程的方式,在任何包含此用户控件的WEB窗体页中操作这些属性。
Public MustInherit Class Loginform
Inherits System.Web.UI.UserControl
Protected WithEvents User As System.Web.UI.WebControls.TextBox
Protected WithEvents Pass As System.Web.UI.WebControls.TextBox
Protected WithEvents Button1 As System.Web.UI.WebControls.Button
#Region " Web 窗体设计器生成的代码 "
'该调用是 Web 窗体设计器所必需的。
<System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()
End Sub
Private Sub Page_Init(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Init
'CODEGEN: 此方法调用是 Web 窗体设计器所必需的
'不要使用代码编辑器修改它。
InitializeComponent()
End Sub
#End Region
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'在此处放置初始化页的用户代码
End Sub
Public Property UserId() As [String]
Get
Return User.Text
End Get
Set(ByVal Value As [String])
User.Text = Value
End Set
End Property
Public Property Password() As [String]
Get
Return Pass.Text
End Get
Set(ByVal Value As [String])
Pass.Text = Value
End Set
End Property
End Class
步骤2:创建该用户控件显示的UI元素。以下代码创建与来自步骤1的代码进行交互的登录窗体。
【注意】将此用户控件包括在Web窗体页中时,需要在@Register指令的Src属性中包括此文件名称以及该文件的路径。
<%@ Control Language="vb" AutoEventWireup="false" Codebehind="Logonform.ascx.vb" Inherits="logintest.Logonform" TargetSchema="http://schemas.microsoft.com/intellisense/ie5" %>
<TABLE cellSpacing="15">
<TR>
<TD><B>用户姓名: </B></TD>
<TD><ASP:TextBox id="User" runat="server"></ASP:TextBox></TD>
</TR>
<TR>
<TD><B>用户口令: </B></TD>
<TD><ASP:TextBox id="Pass" runat="server" TextMode="Password"></ASP:TextBox></TD>
</TR>
<TR>
<TD></TD>
<TD><ASP:Button id="Button1" runat="server" Text="登录" BorderStyle="Groove"></ASP:Button></TD>
</TR>
</TABLE>
3、调用用户控件
只有当包括在WEB窗体页中时,用户控件才可以工作。当一个请求到达某一页而该页包含用户控件时,该用户控件将经历任何服务器控件所要经历的所有处理阶段。
在 WEB 窗体页中包括用户控件的方法很简单。
在要包含用户控件的 WEB 窗体页中,声明一个@Register指令,该指令包括:
tagprefix属性,该属性将前缀与用户控件相关联。此前缀将包括在用户控件元素的开始标记中。
tagname属性,该属性将名称与用户控件相关联。此名称将包括在用户控件元素的开始标记中。
Src属性,该属性定义要包括在WEB窗体页中的用户控件文件的虚拟路径。
例如,以下代码将注册在文件LoginForm.ascx中定义的用户控件。该控件还被指定有标记前缀Acme和标记名称Login。
<%@ Register TagPrefix="Acme" TagName="LoginForm" Src=".\LoginForm.ascx" %>
使用自定义服务器控件语法在HtmlForm服务器控件的开始标记和结束标记之间 (<form runat=server></form>) 声明该用户控件元素。例如,要声明在上一步导入的控件,使用以下语法。
<%@ Page Language="vb" AutoEventWireup="false" Codebehind="logintest.aspx.vb" Inherits="logintest.WebForm1"%>
<%@ Register TagPrefix="Acme" TagName="LoginForm" Src=".\LoginForm.ascx" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<title>WebForm1</title>
<meta name="GENERATOR" content="Microsoft Visual Studio .NET 7.0">
<meta name="CODE_LANGUAGE" content="Visual Basic 7.0">
<meta name="vs_defaultClientScript" content="JavaScript">
<meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
</HEAD>
<body MS_POSITIONING="GridLayout">
<form id="Form1" method="post" runat="server">
<Acme:LoginForm id=" LoginForm " runat="server"/>
</form></BODY>
</HTML>
【注意】无论在WEB窗体页上包括了多少个ASP.NET服务器控件(用户控件和其他任何控件),都应只在WEB窗体页上包括一个HtmlForm服务器控件。此控件的开始和结束标记之间应包括所有服务器控件。
4、用户控件使用小结
(1)用户控件使开发人员能够使用编写WEB窗体页的相同编程技巧轻松地定义自定义控件。 作为约定,用.ascx文件扩展名指示这样的控件。这样可以确保用户控件文件不能作为独立的WEB窗体页执行。
(2)用户控件通过Register指令包括在另一WEB窗体页中,该指令指定TagPrefix、TagName和Src location。
(3)注册了用户控件后,可以像普通的服务器控件那样将用户控件标记放置在WEB窗体页中(包括runat="server"属性)。在包含WEB窗体页中将用户控件的公共字段、属性和方法提升为该控件的公共属性(标记属性)和方法。
(4)用户控件参与每个请求的整个执行生存期,并且可以处理自己的事件,封装来自包含WEB窗体页的一些页逻辑。
(5)用户控件不应包含任何窗体控件,而应依靠其包含WEB窗体页在必要时包括窗体控件。
(6)可以使用System.WEB.UI.Page类的LoadControl方法以编程方式创建用户控件。用户控件的类型由ASP.NET运行库决定,遵循约定文件名_扩展名。
(7)只有当为用户控件包括了Register指令时,用户控件的强类型才能由包含WEB窗体页使用(即使没有实际声明的用户控件标记)。
5、结束语
在编写WEB应用程序时,如果将可能重复出现的元素都用用户控件来实现,那将大大减少维护代码的代价。而且在修改代码时,记得修改一段代码却忘了修改另一段同样代码的情况也将不存在了。代码越短,出现错误的因素越少,出现错误的可能性就越小。
‘肆’ Vb.Net WebBrowser控件如何单击下拉列表选择框中的项目
InvokeScript的第一个参数是方法名,不带参数不带符号,第二个是参数集合。
InvokeScript("ChangeField",{"this.form"})
以上信息供参考。
‘伍’ 谁知道vs2005(.NET框架)常用控件用法
按功能列出的推荐控件和组件:
(windows程序用的控件和组件)
数据显示:
DataGridView 控件
DataGridView 控件提供用来显示数据的可自定义表。使用 DataGridView 类,可以自定义单元格、行、列和边框。
注意
DataGridView 控件提供 DataGrid 控件所不具备的许多基本和高级功能。有关更多信息
数据绑定和定位:
BindingSource 组件
通过提供当前项管理、更改通知和其他服务,来简化将窗体上的控件绑定到数据的过程。
文本编辑:
BindingNavigator 控件
提供工具栏式的界面来定位和操作窗体上的数据。
TextBox 控件
显示设计时输入的文本,它可由用户在运行时编辑或以编程方式更改。
RichTextBox 控件
使文本能够以纯文本或 RTF 格式显示。
MaskedTextBox 控件
约束用户输入的格式
信息显示(只读):
Label 控件
显示用户无法直接编辑的文本。
LinkLabel 控件
将文本显示为 Web 样式的链接,并在用户单击该特殊文本时触发事件。该文本通常是到另一个窗口或网站的链接。
StatusStrip 控件
通常在父窗体的底部使用有框架的区域显示有关应用程序的当前状态的信息。
ProgressBar 控件
向用户显示操作的当前进度。
网页显示:
WebBrowser 控件
使用户可以在窗体内导航网页。
从列表中选择
CheckedListBox 控件
显示一个可滚动的项列表,每项旁边都有一个复选框。
ComboBox 控件
显示一个下拉式项列表。
DomainUpDown 控件
显示用户可用向上和向下按钮滚动的文本项列表。
ListBox 控件
显示一个文本项和图形项(图标)列表。
ListView 控件
在四个不同视图之一中显示项。这些视图包括纯文本视图、带有小图标的文本视图、带有大图标的文本视图和详细信息视图。
NumericUpDown 控件
显示用户可用向上和向下按钮滚动的数字列表。
TreeView 控件
显示一个节点对象的分层集合,这些节点对象由带有可选复选框或图标的文本组成。
图形显示:
PictureBox 控件
在一个框架中显示图形文件(如位图和图标)。
PictureBox 控件
在一个框架中显示图形文件(如位图和图标)。
图形存储:
ImageList 控件
充当图像储存库。ImageList 控件和及其包含的图像可以在不同的应用程序中重用。
值的设置:
CheckBox 控件
显示一个复选框和一个文本标签。通常用来设置选项。
CheckedListBox 控件
显示一个可滚动的项列表,每项旁边都有一个复选框。
RadioButton 控件
显示一个可打开或关闭的按钮。
TrackBar 控件
允许用户通过沿标尺移动“滚动块”来设置标尺上的值。
数据的设置:
DateTimePicker 控件
显示一个图形日历以允许用户选择日期或时间。
MonthCalendar 控件
显示一个图形日历以允许用户选择日期范围。
对话框:
ColorDialog 控件
显示允许用户设置界面元素的颜色的颜色选择器对话框。
FontDialog 控件
显示允许用户设置字体及其属性的对话框。
OpenFileDialog 控件
显示允许用户定位文件和选择文件的对话框。
PrintDialog 控件
显示允许用户选择打印机并设置其属性的对话框。
PrintDialog 控件
显示允许用户选择打印机并设置其属性的对话框。
PrintPreviewDialog 控件
显示一个对话框,该对话框显示 PrintDocument 组件在打印出来后的外观。
FolderBrowserDialog 控件
显示用来浏览、创建以及最终选择文件夹的对话框
SaveFileDialog 控件
显示允许用户保存文件的对话框。
菜单控件:
MenuStrip 控件
创建自定义菜单
注意
MenuStrip 的设计目的是为了取代 MainMenu 控件。
ContextMenuStrip 控件
创建自定义上下文菜单。
注意
ContextMenuStrip 的设计目的是为了取代 ContextMenu 控件。
按钮:
Button 控件
表示 Windows 按钮控件。
LinkLabel 控件
将文本显示为 Web 样式的链接,并在用户单击该特殊文本时触发事件。该文本通常是到另一个窗口或网站的链接。
NotifyIcon 控件
在表示正在后台运行的应用程序的任务栏的状态通知区域中显示一个图标。
ToolStrip 控件
创建工具栏,这些工具栏可以具有与 Microsoft Windows XP、Microsoft Office 或 Microsoft Internet Explorer 类似的外观,也可以具有自定义外观,可以有主题,也可以没有主题,并支持溢出和运行时项重新排序。
注意
ToolStrip 控件的设计目的是为了取代 ToolBar 控件。
用户帮助:
HelpProvider 组件
为控件提供弹出式帮助或联机帮助。
将其他控件分组:
Panel 控件
将一组控件分组到未标记、可滚动的框架中。
GroupBox 控件
将一组控件(如单选按钮 (RadioButton))分组到带标记、不可滚动的框架中。
TabControl 控件
提供一个选项卡式页面以有效地组织和访问已分组对象。
SplitContainer 控件
提供用可移动拆分条分隔的两个面板。
注意
SplitContainer 控件的设计目的是为了取代 Splitter 控件。
TableLayoutPanel 控件
表示一个面板,它可以在一个由行和列组成的网格中对其内容进行动态布局。
FlowLayoutPanel 控件
表示一个沿水平或垂直方向动态排放其内容的面板。
音频:
SoundPlayer 控件
播放 .wav 格式的声音文件。加载声音和播放声音可以异步进行。
(ASP.Net网页用的控件和组件)
标准的:
AdRotator Web 服务器控件
该控件将循环显示您定义的一系列可单击的横幅广告。
BulletedList Web 服务器控件
使用 BulletedList Web 服务器控件可以创建一个无序或有序(带编号)的项列表,它们分别呈现为 HTML ul 或 ol 元素。若要指定列表中的单个列表项,请针对每个列表项将一个 ListItem 控件放在 BulletedList 控件的开始标记与结束标记之间。
Button Web 服务器控件
ASP.NET 网页中的按钮使用户可以发送命令。默认情况下,按钮将页提交给服务器,并使页与任何挂起的事件一起被处理。Web 服务器控件包括三种类型的按钮:命令按钮(Button 控件)、超链接样式按钮(LinkButton 控件)和图形按钮(ImageButton 控件)。这三种按钮提供类似的功能,但具有不同的外观。
Calendar Web 服务器控件
Calendar Web 服务器控件在 ASP.NET 网页中显示一个单月份日历。用户可使用该日历查看和选择日期。
CheckBox 和 CheckBoxList Web 服务器控件
CheckBox 和 CheckBoxList Web 服务器控件为用户提供了一种在“true-false”或“是-否”选项之间进行切换的方法。
由于存在两种不同的控件,并且其功能也略有不同,因此理解它们的不同用途很重要。
DropDownList Web 服务器控件
使用 DropDownList Web 服务器控件,用户可以从单项选择下拉列表框中进行选择。DropDownList 控件与 ListBox Web 服务器控件类似。不同之处在于它只在框中显示选定项,同时还显示下拉按钮。当用户单击此按钮时,将显示项的列表。
FileUpload Web 服务器控件
您可以通过该控件为用户提供一种从他们的计算机向服务器发送文件的方法。
HiddenField Web 服务器控件
该控件使您可以将信息保留在 ASP.NET 网页中,而不将其显示给用户。
HyperLink Web 服务器控件
HyperLink Web 服务器控件提供了一种使用服务器代码在网页上创建和操作链接的方法。
Image Web 服务器控件
Image Web 服务器控件使您可以在 Web 窗体页上显示图像,并使用服务器代码管理这些图像。
ImageMap Web 服务器控件
该控件使您可以创建包含用户可以单击的各区域的图像;这些区域称为作用点。每个作用点都可以是一个单独的超链接,或者可以引发回发事件。
Label Web 服务器控件
Label Web 服务器控件为您提供了一种以编程方式显示 ASP.NET 网页中文本的方法。
注意
如果要显示静态文本,可以使用 HTML 呈现它;不需要使用 Label 控件。仅当需要在服务器代码中更改文本的内容或其他特性时,才使用 Label 控件。
ListBox Web 服务器控件
ListBox Web 服务器控件允许用户从预定义的列表中选择一项或多项。
Literal Web 服务器控件
Literal 控件无需添加任何 HTML 元素即可将静态文本呈现在网页上。可以通过服务器代码以编程方式静态控制文本。
MultiView 和 View Web 服务器控件
MultiView 控件可用作 View 控件组的容器。每个 View 控件也可以包含子控件,如按钮和文本框。应用程序可以根据条件(如用户标识、用户首选项)或传入查询字符串参数的信息,以编程方式向客户端显示特定的 View 控件。
Panel Web 服务器控件
Panel Web 服务器控件在页面内为其他控件提供一个容器。通过将多个控件放入一个 Panel 控件,可将它们作为一个单元进行控制,如隐藏或显示它们。您还可以使用 Panel 控件为一组控件创建独特的外观。
注意
对 RadioButton 之类的控件进行分组时,并不要求使用 Panel 控件。
PlaceHolder Web 服务器控件
ASP.NET PlaceHolder Web 服务器控件使您能够将空容器控件放置到页上,然后在运行时动态地将子元素添加到该容器中。
RadioButton 和 RadioButtonList Web 服务器控件
RadioButton 和 RadioButtonList Web 服务器控件允许用户从预定义的列表中选择一项。下列主题给出了有关这两种控件的信息,在您学习使用这些控件时会有帮助。
由于存在两种控件,并且其功能也略有不同,因此了解它们的不同用途很重要。
Substitution Web 服务器控件
Substitution 控件指定输出缓存的网页上不进行缓存的部分。使用 Substitution 控件可以在输出缓存的网页上指定希望用动态内容替换控件的部分。
Table、TableRow 和 TableCell Web 服务器控件
Table Web 服务器控件在 ASP.NET 网页上创建通用表。表中的行将作为 TableRow Web 服务器控件创建,而每行中的单元格则作为 TableCell Web 服务器控件来实现。
TextBox Web 服务器控件
TextBox Web 服务器控件为用户提供了一种向 ASP.NET 网页中键入信息(包括文本、数字和日期)的方法。
Wizard Web 服务器控件
使用 Wizard 控件可以生成 ASP.NET 网页来向用户呈现多步骤的过程。
XML Web 服务器控件
Xml Web 服务器控件读取 XML 并将其写入该控件所在的 ASP.NET 网页。如果将 XSL 转换 (XSLT) 应用到 XML,则最终转换的输出将呈现在该页中。
数据:
GridView 控件
GridView 控件以表的形式显示数据,并提供对列进行排序、翻阅数据以及编辑或删除单个记录的功能。
注意
GridView 控件是 ASP.NET 的早期版本中提供的 DataGrid 控件的后继控件。除了添加利用数据源控件功能的新功能,GridView 控件还实现了某些改进,例如,定义多个主键字段的功能、使用绑定字段和模板的改进用户界面自定义以及用于处理或取消事件的新模型。
DetailsView 控件
DetailsView 控件一次呈现一条表格形式的记录,并提供翻阅多条记录以及插入、更新和删除记录的功能。DetailsView 控件通常用在主/详细信息方案中,在这种方案中,主控件(如 GridView 控件)中的所选记录决定了 DetailsView 控件显示的记录。
FormView 控件
FormView 控件与 DetailsView 控件类似,它一次呈现数据源中的一条记录,并提供翻阅多条记录以及插入、更新和删除记录的功能。不过,FormView 控件与 DetailsView 控件之间的差别在于:DetailsView 控件使用基于表的布局,在这种布局中,数据记录的每个字段都显示为控件中的一行。而 FormView 控件则不指定用于显示记录的预定义布局。实际上,您将创建包含控件的模板,以显示记录中的各个字段。该模板包含用于设置窗体布局的格式、控件和绑定表达式。
Repeater 控件
Repeater 控件使用数据源返回的一组记录呈现只读列表。与 FormView 控件类似,Repeater 控件不指定内置布局。您可以使用模板创建 Repeater 控件的布局。
DataList 控件
DataList 控件以表的形式呈现数据,通过该控件,您可以使用不同的布局来显示数据记录,例如,将数据记录排成列或行的形式。您可以对 DataList 控件进行配置,使用户能够编辑或删除表中的记录。(DataList 控件不使用数据源控件的数据修改功能;您必须自己提供此代码。)DataList 控件与 Repeater 控件的不同之处在于:DataList 控件将项显式放在 HTML 表中,而 Repeater 控件则不然。
数据源:
ObjectDataSource 控件
ObjectDataSource 控件使用依赖中间层业务对象来管理数据的 Web 应用程序中的业务对象或其他类。此控件旨在通过与实现一种或多种方法的对象交互来检索或修改数据。当数据绑定控件与 ObjectDataSource 控件交互以检索或修改数据时,ObjectDataSource 控件将值作为方法调用中的参数,从绑定控件传递到源对象。
SqlDataSource 控件
SqlDataSource 控件使用 SQL 命令来检索和修改数据。SqlDataSource 控件可用于 Microsoft SQL Server、OLE DB、ODBC 和 Oracle 数据库。
AccessDataSource 控件
AccessDataSource 控件是 SqlDataSource 控件的专用版本,专为使用 Microsoft Access .mdb 文件而设计。与 SqlDataSource 控件一样,可以使用 SQL 语句来定义控件获取和检索数据的方式。
XmlDataSource 控件
XmlDataSource 控件可以读取和写入 XML 数据,因此您可以通过某些控件(如 TreeView 和 Menu 控件)来使用该控件。XmlDataSource 控件可以读取 XML 文件或 XML 字符串。如果该控件处理 XML 文件,它可以将修改后的 XML 写回到源文件。如果存在描述数据的架构,XmlDataSource 控件可以使用该架构来公开那些使用类型化成员的数据。
SiteMapDataSource 控件
SiteMapDataSource 控件使用 ASP.NET 站点地图,并提供站点导航数据。此控件通常与 Menu 控件一起使用。当通过并非专为导航而设计的 Web 服务器控件(如 TreeView 或 DropDownList 控件),使用站点地图数据自定义站点导航时,SiteMapDataSource 控件也很有用。
验证:
ValidationSummary 控件
在一个位置显示所有验证错误。
导航:
Menu Web 服务器控件
ASP.NET Menu 控件使您能够为经常用于提供导航功能的网页添加功能。Menu 控件支持一个主菜单和多个子菜单,并且允许定义动态菜单(有时称为“飞出”菜单)。
SiteMapPath Web 服务器控件概述
SiteMapPath 会显示一个导航路径(也称为面包屑或眉毛导航),此路径为用户显示当前页的位置,并显示返回到主页的路径链接。此控件提供了许多可供自定义链接的外观的选项。
TreeView Web 服务器控件
TreeView Web 服务器控件用于以树形结构显示分层数据,如目录或文件目录。
‘陆’ 窗体控件的WEB窗体
允许 HTML 标记与应用程序逻辑的完全分离。逻辑,即页面后的代码,是经过编译的,因而其性能得到了大大提高。
支持控件和 NET 组件组,提供了统一的、对类型安全的对象模型。此外,该框架还通过定制组件或第三方组件使自身自然适应扩展性的需要。
实现为该框架的组成部分的服务器控件。ASP+ 的其它方面,如缓存、安全、配置和定制,也同样重要。服务器控件用于创建 Web 应用程序的用户界面。它们可以生成适用于目标设备或浏览器的任何输出。在 ASP+ 框架中有两组服务器控件:“HTML 控件”和“Web 控件”,这两组控件都能提供用于 Web 浏览器的 HTML。除了提供 HTML 之外,它们还封装有在往返行程中保留状态以及为各种客户机事件产生服务器端事件的机制。同时,它们还能用作复合控件的组成部分。 ASP+ 框架中的第一组控件称为 HTML 控件。这些控件位于 System.Web.UI.HtmlControls 命名空间中,是从 HtmlControl 基类中直接或间接派生出来的。
对于任何包含 runat=server 属性的标记,都会为其生成 HTML 控件的实例。例如,下面的 HTML 可创建一个名为“textBox1”的 HtmlInputText 控件的实例:
<input type=text runat=server id=textBox1 value=some text>
下表中列出了 HTML 控件以及对应的 HTML 标记。
表 1. 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+ 框架中的第二组服务器控件称为 Web 控件。这些控件位于 System.Web.UI.WebControls 命名空间中,是从 WebControl 基类中直接或间接派生出来的。
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=[Entry Keywords]></asp:TextBox>
在上例中,“asp”是标记前缀,会映射到 System.Web.UI.WebControls 命名空间。 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=Click Me></asp:Button>
LinkButton 控件的行为与 Button 控件相同。但它在页面上会显示为一个超级链接:
<asp:LinkButton runat=server Text=Click Me></asp:Button>
ImageButton 控件也用于提交页面。它会显示为一幅图像,并且能够提供用户单击位置的 x 坐标和 y 坐标:
<asp:ImageButton runat=server ImageUrl=net.gif></asp:Button> HyperLink 控件用于生成能够跳转到其它 URL 的链接:
<asp:HyperLink runat=server Text=Follow Me 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 控件是一个列表绑定控件,没有预定义外观的方式显示数据源的内容:
<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 控件简化了对用户输入的内容进行验证的工作。它们能自动为上层浏览器生成客户机端脚本,以便在进行回传前,在用户的计算机上进行验证,从而实现了交互性和对用户友好性更加良好的页面。与此同时,它们也能在服务器上作为第二道防线来完成同样的工作。“RequiredFieldValidator 控件用于确保用户填写了必须输入的那些输入控件。
RangeValidator 控件用于检查用户输入的内容在有效取值范围之内。这对于数字或日期类型的输入内容十分有用。
CompareValidator 控件用于对比一个控件中的输入内容与另一个控件中的输入内容。
RegularExpressionValidator 控件能够检查用户输入的内容是否符合作为标准的规范表达式(或字符串模式)。
CustomValidator 控件允许您提供自定义的服务器端和客户机端验证逻辑。
ValidationSummary 控件能够提供由验证控件生成的所有错误信息的概要。
零杂控件
AdRotator 控件用于显示广告或横幅。广告的有关信息(包括其图像的 URL)使用 XML 文件来定义:
<asp:AdRotator runat=server AdvertisementFile=AdsList.xml></asp:AdRotator>
‘柒’ excel 另存为 web页面后,原来是下拉框类型的单元格不再是下拉框了,这个有办法保持吗
工作簿保存为网页后,上面的各个元素已经不再支持EXCEL功能了,变成类似文本的格式了,我也做过一些测试,像“有效性”中的下拉框、“窗体控件”中组合框、“控件工具箱”中的组合框都无法正常使用了。
‘捌’ Visual Studio 窗体里的下拉文本框是哪个控件
选择MultiLine ,点textbox控件的右上角的小三角,默认textbox是单行显示的,所以不能纵拉伸。