版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第一章VisualStudio2008开发平台的使用VisualStudio是ー套完整的开发工具,用于生成ASP.NETWeb应用程序、XMLWebServices,桌面应用程序和移动应用程序。VisualBasic,VisualC#和VisualC++都使用相同的集成开发环境(IDE),这样就能够进行工具共享,并能够轻松地创建混合语言解决方案。另外,这些语言使用,NETFramework的功能,它提供了可简化ASPWeb应用程序和XMLWebServices开发的关键技术。VisualStudio2008新增类设计器,AJAX开发,WPF设计器,语言集成査询等功能,为用户开发提供了灵活而强大的技术支持.一、面向对象的思想方法本书目标VisualStudio2008开发平台,从语言选择上看,既可以选择C#,也可以选择VB,C++;从开发模式看,既可以是B/S模式,也可以是C/S模式;从应用领域看,既可以是企业级应用,也可以是移动设备上应用。因此,介绍平台使用是非常丰富,而无能一书可以完成的,本书的目标是试图选择C#语言,采用B/S模式,讨论一般的企业级应用。面向对象“物以类聚”这是人类认识世界的基本观点,人们总是把具有相同特征和行为的事物划分为ー类,软件作为服务人类的科学手段,也可以类的思维耒认识与刻划这个世界。在现代软件工程中,把事物特征看成是数据、信息、数据成员,字段,变量、对象,属性,…;把事物行为看成是操作,信息处理,成员函数,函数,功能,服务,方法,…。对象”是包含数据和操作该数据的方法的结构。一般来说,“类“class是ー些内容的抽象表示形式,而“对象”是类所表示的内容的具体实例且是可用示例。共享类成员是此规则的一个例外,这种成员可在类的实例和声明为共享类类型的对象变量中使用。类由字段,属性,方法和事件组成。字段和属性表示对象包含的信息。字段类似于变量,因为可以直接读取或设置它们。例如,如果有一个名为“Car”的汽车对象,则可以在名为“Color”的颜色字段中存储其颜色。属性的检索和设置方法与字段类似,但是属性是使用PropertyGet和PropertySet过程(方法)实现的,这些过程对如何设置或返回值提供更多的控制(也称属性访问器).在所存储值和使用此值的过程之间的间接层有助于隔离数据,并使您得以在分配或检索值之前验证这些值。方法表示对象可执行的操作(具备的功能)。例D,"Car"对象可以有“StartEngine”,“Drive”和“Stop”方法。通过向类中添加过程(函数)来定义方法。事件是对象从其他对象或应用程序接收的通知,或者是对象传输到其他对象或应用程序的通知。事件使对象得以在每当特定情况发生时执行操作。“Car”类的ー个事件示例是“Check_Engine”事件。因为MicrosoftWindows是事件驱动的操作系统,所以事件可来自其他对象,应用程序或用户输入(如鼠标单击或按键)。字段、属性、方法和事件只是面向对象编程全部内容的一半。真正的面向对象的编程需要对象支持三种特性:封装、继承和多态性。“封装”意味着将一组相关属性、方法和其他成员视为ー个单元或对象。对象可以控制更改属性和执行方法的方式。例如,对象可在允许属性更改前验证值。通过隐藏对象的实现细节(ー种称为“数据隐藏”的做法),封装还使在以后对实现进行更改更为容易。“继承”描述基于现有类创建新类的能力。新类继承基类的所有属性、方法和事件,而且可用其他属性和方法自定义该新类。例如,可基于“Car”类创建名为“Truck”的新类。uTruck"类从“Car”类继承“CoIor”属性,而且可有其他属性,in"FourWheelDrive".“多态性”意味着可以有多个可互换使用的类,即使每个类以不同方式实现相同属性或方法。多态性对于面向对象编程非常重要,因为它允许使用同名的项,而不管此时使用的是什么类型的对象。例如,假设给定基类“Car”,多态性使程序员能够为任意数量的派生类定义不同的“StartEngine”方法。名为“DieselCar”的派生类的“StartEngine”方法可以与基类中同名的方法完全不同。其他过程或方法可用完全相同的方式使用派生类的“StartEngine”方法,不管此时使用的是什么类型的“Car”对象。重载、重写和隐藏是很容易混淆的类似概念。虽然所有这三种技术都使您可以创建同名的成员,但它们之间有一些重要的差异。重载的成员用于提供属性或方法的不同版本,这些版本具有相同名称但是接受不同数量的参数或者接受不同数据类型的参数。重写的属性和方法用于替换在派生类中不适合的继承的属性或方法。重写的成员必须接受同一数据类型和参数数量。派生类继承重写的成员。隐藏的成员用于局部替换具有更广范围的成员。任何类型都可隐藏任何其他类型。例如,可声明隐藏同名继承方法的属性。无法继承隐藏的成员。组件技术一般说耒,控件除了特定功能还有与用户交互部分,组件具有特定功能未必与用户交互.在我们讨论范围中,c#语言是纯面向对象的,因此组件也好,控件也好,本质上都是类。我们耒看看Label标签类.在工具箱中的标准控件中第一个控件是ALabel,这是存储文本的标签.ー个ASP.NET的项目中,选择ー个页面,如newp.aspx页,进入设计状态,然后,用鼠标选中ALabel标签,按住左键拖入设计页中,默认【D为Labell.这是Label类的ー个对象,应理解为 System.Web.UI.WebControls.LabelLabell=newSystem.Web.UI.WebControls.Label();开发环境提供四个Label类,应用于不同的场合.如是:System.Web.UI.MobileControls.Label提供控件功能,用于表示在移动设备上显示文本的控件。System.Web.UI.WebControls.Label表示在网页上显示文本的标签控件。System.Windows.Controls.Label表示控件的文本标签,并提供对访问键的支持。System.Windows.Form.Label表示标准Windows标签。
这里是B/S开发,应用System.Web.Ul.WebControls.Labe!类.可从帮助文档査到这个类的属性、方法、事件。而现在拖入页面的ID为Label!标签控件是这个类的对象,或是实例,它具有类的全部属性、方法、事件.在设计页上选中Labell控件对象,击右键选属性,即展示该对象的属性、事件.作者安装的环境只显示类的部分属性及全部事件.对象属性,即代表对象的特征,调整属性,即改变着对象特征.也能改变对象的外观.如:背景、边框、字体、颜色等等.在控件显示属性框中,有ー工具条,将鼠标移入即提示功能,如选中将出现提示如下:按分类顺序,字母顺序,属性,事件,属性页.每个控件都有事件,你可以选择适当的事件去调用适当功能的处理方法.以满足客户要求.VisualStudio2008开发平台的工具箱中提供许多控件,将其拖入设计页中,就生成控件类的一个对象,可以调整属性改变该对象的特征,可以选择事件调用方法,实现特定的功能,提供特定的服务.平台结构解决方案资源莒理器•解决方案“ハ/▼Q解决方案资源莒理器•解决方案“ハ/▼QXユ①囱回コ而»ラ解决方案“nb”另个项目)I-jApp.D.n\Default,aspxJwtb.confif图1-1、VisualStudio2008开发平台的结构布局控件属性下面表1-1:列出的属性适用于所有从WebContro!类派生的Web服务器控件。表1-1:AccessKey控件的键盘快捷键(AccessKey)。此属性指定用户在按住Alt的同时可以按下的单个字母或数字。例如,如果希望用户按下Alt+K以访问控件,则指定“K”。仅在MicrosoftInternetExplorer4.0及其更髙版本中支持快捷键。Attributes控件上的未由公共属性定义但仍需呈现的附加属性集合。任何未由Web服务器控件定义的属性都添加到此集合中。这使您可以使用未被控件直接支持的HTML属性。只能在编程时使用此属性;不能在声明控件时设置此属性。BackColor控件的背景色。BackColor属性可以使用标准的HTML颜色标识符来设置:颜色名称(“black”或“red”)或者以十六进制格式(u#ffffff")表示的RGB值。BorderColor控件的边框颜色。BorderColor属性可以使用标准的HTML颜色标识符来设置:颜色名称("black"或“red”)或者以十六进制格式(“#ffffff”)表示的RGB值。BorderWidth控件边框(如果有的话)的宽度(以像素为单位)。此属性可能不适用于InternetExplorer4.0之前的浏览器中的所有控件。BorderStyle控件的边框样式(如果有的话)。可能的值包括:NotSetNoneDottedDashedSolidDoubleGrooveRidgeInsetOutsetCssClass分配给控件的级联样式表(CSS)类。Style作为控件的外部标记上的CSS样式属性呈现的文本属性集合。任何使用样式属性(例如BackColor)设置的样式值都将自动重
写此集合中的对应值。使用此属性设置的值不会自动反映在强类型样式属性中。某些控件支持允许您将样式属性应用于控件的各个元素的样式对象。这些属性将重写使用Style属性进行的任何设置。Enabled当此属性设置为true(默认值)时使控件起作用。当此属性设置为false时禁用控件。禁用控件将使该控件变灰并使之处于非活动状态。它并不会隐藏控件。EnableTheming当此属性设置为true(默认值)时对控件启用视图状态持久性。当此属性设置为false时对该控件禁用视图状态持久性。EnableViewState当此属性设置为true(默认值)时对控件启用主题。当此属性设置为false时对该控件禁用主题。Font为正在声明的Web服务器控件提供字体信息。此属性包含子属性,您可以在Web服务器控件元素的开始标记中使用属性一子属性语法来声明这些子属性。例如,可以通过在Web服务器控件文本的开始标记中包含Font-Bold属性而使该文本以粗体显々、〇ForeColor控件的前景色。此属性可能不适用于1nternetExplorer4.0之前的浏览器中的所有控件。Height控件的高度。此属性可能不适用于1nternetExplorer4.0之前的浏览器中的所有控件。SkinlD要应用于控件的外观。Tabindex控件的位置(按Tab键顺序)。如果未设置此属性,则控件的位置索引为〇。具有相同选项卡索引的控件可以按照它们在网页中的声明顺序用Tab键导航。此属性只适用于1nternetExplorer4.0及更髙版本。ToolTip当用户将鼠标指针定位在控件上方时显示的文本。ToolTip属性并不适用于所有浏览器。请检査浏览器的兼容性。Width控件的固定宽度。可能的单位包括:» 像素(px), 磅(pt)» 派卡(pc)
, 英寸(in)• 毫米(mm)» 厘米(cm)» 百分比(%)・ 大写字母M的宽度(em)• 小写字母x的高度(ex)例如,以声明方式设置100磅宽就是lOOpto有关以编程方式设置宽度的信息,请参见如何:设置Web服务器控件的单位属性。默认单位是像素。并非所有浏览器都支持每种单位类型。1.6工程案例本教材给出了三个工程案例,在VisualStudio2008开发平台下完成.一个是电子商务系统;ー个是电子政务系统;第三是物流系统.二、工具箱中标准控件的使用2.1Labe!标签使用Label标签控件在Web窗体页上的固定位置显示文本。与静态文本不同,它可以通过编程方式设置Text属性来自定义所显示的文本。文本在Label控件中显示之前并非HTML编码形式。这使得可以在文本中的HTML标记中嵌入脚本。如果控件的值是由用户输入的,请务必要对输入值进行验证以防止出现安全漏洞。示例1-1代码如下:<%@PageLanguages"C#nAutoEventWireup="True"%><!DOCTYPEhtmlPUBLIC”ー〃W3C//DTDXHTML1.0Transitional//EN""http:〃/TR/xhtmll/DTD/xhtmll-transitional.dtdu><htmlxmlns=u/1999/xhtmlH><head><title>LabelExample</title><scriptlanguage="C#"runat='*server'*> //C#语言的脚本voidButton_Click(ObjectSender,EventArgse)〃按扭事件调用的方法(Label1.Text=Server.HtmlEncode(Textl.Text);〃取文本框的值送标签上显示)</script></head>
<body><formid="Forml“runat='*serverH><h3>LabelExample</h3><asp:Labelid="Label1**Text="LabelControl**runat="server"/>〃form表单,收集信息〃标签对象Labe11〃显示初值〃form表单,收集信息〃标签对象Labe11〃显示初值<asp:TextBoxid="TextlnText=nCopythistexttotheWidth二”200px”〃文本输入框对象Textllabel1t〃输入框初值runat=nserver**/><asp:Buttonid=nButtonl" 〃按扭对象ButtonlText="Copy"OnClick=nButton_Click" 〃按扭事件调用函数名runat=nserver"/></p></form></body></html>TextBox文本框TextBox服务器控件是让用户输入文本的输入控件。默认情况下,TextMode属性设置为SingleLine,它创建只包含一行的文本框。您也可以将该属性设置为MuItiLine或Password〇MultiLine创建包含多行的文本框。Password创建可以屏蔽用户输入的值的单行文本框。文本框的显示宽度由其Columns属性确定。如果文本框是多行文本框,则显示高度由Rows属性确定。使用Text属性确定TextBox控件的内容。通过设置MaxLength属性,可以限制可输入到此控件中的字符数。将Wrap属性设置为true来指定当到达文本框的结尾时,单元格内容应自动在下一行继续。其使用如示例所示.Button按扭Button控件使您能够在Web窗体页上创建下压按钮。可以创建两种类型的按钮:submit按钮或command按钮。
默认情况下,Button控件是一个submit按钮。submit按钮没有与按钮关联的命令名(由CommandName属性指定),它只是将网页发送回服务器。可以为Click事件提供事件处理程序,以编程方式控制单击submit按钮时执行的操作。通过设置CommandName属性,command按钮将命令名与按钮相关联(如Sort)。这使您能够在Web窗体页上创建多个Button控件,并在Command事件的事件处理程序中以编程方式确定要单击的Button控件。也可以对command按钮使用CommandArgument属性以提供有关要执行的命令(如Ascending)的附加信息。可以为Command事件提供事件处理程序,以编程方式控制单击command按钮时执行的操作。模板化控件中经常使用Command按钮,它将操作传送给父控件,例如,在DataList进行选择或在FormView中更改模式。默认情况下,在单击Button控件时执行页验证。页验证确定与该页上验证控件关联的输入控件是否通过该验证控件指定的验证规则。如果Button控件需要禁用此行为(如reset按钮),请将CausesValidation属性设置为false。由于<asp:Button>元素没有内容,所以可以用/>结束该标记,而不是使用单独的结束标记。若要指定Button控件中显示的标题,请设置Text属性。下面的示例1-2:演示如何在.aspx文件中声明submit按钮控件。<asp:Buttonid=nSubmitButtonHText=*'SubmitHCommandName="Submit"OnCommand=*'CommandBtn_ClickHrunat=Hserver"/>ド面的示例演示如何在,aspx文件中声明command按钮控件。<asp:Buttonid="SortAscendingButton"Text="SortAscending"CommandName=,,Sort"CommandArgument="Ascending"OnCommand="CommandBtn_Click"runat="server"/>下面的示例演示ー个事件处理方法,该方法获取按钮单击并显示从该按钮的CommandName和CommandArgument属性传递的信息。voidCommandBtn_Click(Objectsender,CommandEventArgse){Message.Text="Youclickedthe"+e.CommandName+"-"+e.CommandArgument+"button.";}LinkButton使用使用LinkButton控件在Web窗体页上创建超链接样式按钮。通过设置Text属性或将文本放置在LinkButton控件的开始标记和结束标记之间,指定要在LinkButton控件中显示的文本。可以创建“提交”按钮或“命令”按钮。
LinkButton控件的外观与HyperLink控件相同,但其功能与Button控件相同。如果要在单击控件时链接到另ー个网页,请使用HyperLink控件。submit按钮没有与之关联的命令名,它只是将网页发送回服务器。默认情况下,LinkButton控件是ー个submit按钮。可以为Click事件提供事件处理程序,以编程方式控制单击submit按钮时执行的操作。通过设置CommandName属性,可以将命令名与命令按钮(如Sort)相关联。这使您能够在ー个网页上创建多个LinkButton控件,并以编程方式确定单击的LinkButton控件。也可以将CommandArgument属性与命令按钮ー起使用,以提供关于要执行的命令按钮(如Ascending)的附加信息。可以为Command事件提供事件处理程序,以编程方式控制单击命令按钮时执行的操作。LinkButton控件在客户端浏览器上呈现JavaScript。客户端浏览器必须启用了JavaScript,此控件才能正常运行。下面的示例1-3:演示如何在.aspx文件中声明LinkButton按钮控件。<%@PageLanguage=HC#"AutoEventWireup=nTruen%><!DOCTYPEhtmlPUBLICn-//W3C//DTDXHTML1.0Transitional//ENn"/TR/xhtmll/DTD/xhtmll-transitional.dtd"><htmlxmlns="/1999/xhtml"><head><title>LinkButtonExample</title><scriptlanguage="C#"runat="server"> //C#语言的脚本voidLinkButton__Click(Objectsender,EventArgse)(Labell.Text="Youclickedthelinkbutton";} 〃提示按了LinkButtonl</script></head><body><formid="forml"runat="server"><h3>LinkButtonExample</h3><asp:LinkButtonid="LinkButtonl"//设置联接按扭对象LinkButtonlText="ClickMe"Font-Names="Verdana"Font-Size="14pt"OnClick="LinkButton_Click" //按扭事件调用函数名runat="server"/><br/>
<asp:Labelid=*'Labellnrunat=nserver"/></form></body>ImageButton控件使用!mageButton控件显示响应鼠标单击的图像。通过设置!mageUr!属性指定在该控件中显示的图像。在单击ImageButton控件时,将同时引发Click和Command事件。使用OnClick事件处理程序,可以通过编程方式确定单击的图像位置的坐标。然后,可以根据坐标值编写响应代码。注意原点(0,0)位于图像的左上角。可以使用OnCommand事件处理程序使!mageButton控件的行为类似于命令按钮。使用CommandName属性,可以将命令名与该控件相关联。这允许在同一网页上放置多个ImageButton控件。然后可以通过编程方式在OnCommand事件处理程序中标识CommandName属性的值,以确定在单击每个ImageButton控件时应执行的适当操作。还可使用CommandArgument属性传递有关命令的附加信息,如指定升序顺序。由于<asp:lmageButton〉元素没有内容,因此可以使用/>结束该标记,而不必使用单独的结束标记。下面的代码示例1-4:使用单文件代码模型,如果直接将该代码示例复制到代码隐藏文件,则可能无法正常运行。必须将此代码复制到扩展名为.aspx的空文本文件中.<%@PageLanguage=HC#HAutoEventWireup=nTrueu%><!DOCTYPEhtmlPUBLICn-//W3C//DTDXHTML1.0Transitional//ENun/TR/xhtmll/DTD/xhtmll-transitional.dtd"><htmlxmlns="/1999/xhtmlH><head><title>ImageButtonSample</title><scriptlanguage=nC#nrunat=nserverH>voidImageButton_Click(objectsender,ImagedickEventArgse)(Label1.Text="YouclickedtheImageButtoncontrolatthecoordinates:("+e.X.ToStringO+“,"+e.Y.ToString()+")";}</script></head>
<body><formid="formlMrunat="server"><h3>ImageButtonSample</h3>Clickanywhereontheimage.<br/><br/><asp:ImageButtonid="imagebuttonl"runat="server"AlternateText="ImageButton1"ImageAlign="leftnImageUrl="images/pict.jpg" 〃图像按扭使用的图像OnClick="ImageButton_Click"/> //按扭调用方法<br/><br/><asp:labelid="Labell"runat="server"/></form></body></html>HyperLink控件使用HyperLink控件在页上创建一个可使您移动到其他页或位置的链接。使用NavigateUrl属性指定要链接到的页或位置。链接既可显示为文本也可显示为图像。若要显示文本,请设置Text属性或将文本放置在HyperLink控件的开始和结束标记之间。若要显示图像,请设置!mageUrl属性。由于<asp:HyperLink>元素不需要包含内容,因此可以使用/>结束该标记。如果同时设置了Text和ImageUrl属性,则ImageUrl属性优先。如果图像不可用,则显示Text属性中的文本。在支持“工具提示”功能的浏览器上,在将鼠标指针放在HyperLink控件上时将显示Text属性的值。通过设置Target属性可以指定用于显示链接页的框架或窗口。值必须以a到z(不区分大小写)范围内的字母打头,但下列以下划线打头的特殊值除外:.blank 在没有框架的新窗口中显示链接页。.parent 在直接框架集父级中显示链接页。_self 在具有焦点的框架中显示链接页。_top 在没有框架的完全窗口中显示链接页。
文本在HyperLink控件中显示之前并非HTML编码形式。这使得可以在文本中的HTML标记中嵌入脚本。如果控件的值是由用户输入的,请务必要对输入值进行验证以防止出现安全漏洞。使用HyperLinkWeb服务器控件在应用程序的页面之间导航时,您可以使用顎化符通配符来表示应用程序的根目录,而不需要将目录名硬编码为应用程序相对URL=例如,您可以使用“~/Default.aspx”,从应用程序的任何子目录中的任何页导航回应用程序的Default.aspx页。下面的示例1-5:演示如何使用HyperLink.<%@PageLanguage=HC#HAutoEventWireup="Truen%><!DOCTYPEhtmlPUBLICn-//W3C//DTDXHTML1.0Transitional//EN"n/TR/xhtmll/DTD/xhtmll-transitional.dtd'*><htmlxmlns=**/1999/xhtmlH><head><title>HyperLinkExample</title></head><body><formid=,,Forml,*runat=nserverH><h3>HyperLinkExample</h3>ClickontheHyperLink:<br/><asp:HyperLinkid="hyperlinkl” //生成超链对象.〃图像超链//导向网址//显示文本〃图像超链//导向网址//显示文本NavigateUrl=Text=nMicrosoftOfficialSite”Target="_new”runat=nservern/></form></body></html>DropDownList控件使用DropDownList控件创建单项选择下拉列表控件。可以通过设置BorderColor、BorderStyle和BorderWidth属性来控制DropDownList控件的外观。若要指定在DropDownList控件中显示的项,请为每个项在DropDownList控件的开始标记与结束标记之间放置ー个Listitem元素。DropDownList控件还支持数据绑定。若要将控件绑定到数据源,请首先创建数据源领!ArrayList),该数据源包含要显示在控件中的项。下一步,使用DataBind方法将数据源绑定到DropDownList控件。使用DataTextField和DataValueField属性分别指定数据源中哪个字段绑定到控件中每个列表项的Text和Value属性。现在,DropDownList控件将显示数据源中的信息。
使用Selectedlndex属性以编程方式确定用户从DropDownList控件中选择的项的索引。然后即可使用该索引从控件的Items集合中检索选定的项。下面的示例1-6:看如何使用该下控件.%@PageLanguage=HC#'*AutoEventWireup=MTruen%>%@ImportNamespace=MSystem.Data"%>IDOCTYPEhtmlPUBLICH-//W3C//DTDXHTML1.0Transitional//EN""http://www./TR/xhtmH/DTD/xhtm11-transitional.dtd">htmIxmlns="/1999/xhtml"><scriptrunat="server">voidSelection_Change(Objectsender,EventArgse){//SetthebackgroundcolorfordaysintheCalendarcontrol//basedonthevalueselectedbytheuserfromthe//DropDownListcontrol.Calendarl.DayStyle.BackColor=System.Drawing.Color.FromName(ColorList.Selected!tern.Value);}voidPage_Load(Objectsender,EventArgse)(//LoaddatafortheDropDownListcontrolonlyonce,whenthe//pageisfirstloaded.if(!lsPostBack)(//SpecifythedatasourceandfieldnamesfortheText//andValuepropertiesoftheitems(ListIternobjects)//intheDropDownListcontrol.ColorList.DataSource=CreateDataSource();ColorList.DataTextField="ColorTextField”;CoIorList.DataVaiueField="ColorValueField";//Bindthedatatothecontrol.ColorList.DataBind();//SetthedefauItselecteditem,ifdesired.ColorList.Selectedlndex=0;)}ICollectionCreateDataSource(){//CreateatabletostoredatafortheDropDownListcontrol.DataTabledt=newDataTable();//Definethecolumnsofthetable.dt.Columns.Add(newDataColumn('*ColorTextField',,typeof(String)));dt.Columns.Add(newDataColumn(MColorValueField,typeof(String)));//Populatethetablewithsampievalues.dt.Rows.Add(CreateRow("White","White*',dt));dt.Rows.Add(CreateRow("Silver","Silver",dt));dt.Rows.Add(GreateRow("DarkGray","DarkGray",dt));dt.Rows.Add(CreateRow("KhakiM,"Khaki",dt));dt.Rows.Add(CreateRow("DarkKhakiM,"DarkKhaki",dt));//CreateaDataViewfromtheDataTabletoactasthedatasource//fortheDropDownListcontrol.DataViewdv=newDataView(dt);returndv;DataRowCreateRow(StringText,StringValue,DataTabledt)//CreateaDataRowusingtheDataTabledefinedinthe//CreateDataSourcemethod.DataRowdr=dt.NewRow();//ThisDataRowcontainstheColorTextFieldandColorValueField//fields,asdefinedintheCreateDataSourcemethod.Setthe//fieldswiththeappropriatevalue.Rememberthatcolumn0//isdefinedasColorTextField,andcolumn1isdefinedas//ColorValueField.dr[0]=Text;dr[1]=Value;returndr;)</script><headrunat=*'server"><title>DropDownListDataBindingExampie</title></head><body><formid="form1Hrunat="server">h3>DropDownListDataBindingExample</h3>Selectabackgroundcolorfordaysinthecalendar.br/><br/><asp:Calendarid=MCalendarl*'ShowGridLines=MTrueHShowTitle=MTrueMrunat="server*'/><br/xbr/><tablecellpadding="5"><tr><td>Backgroundcolor:</td></tr><tr><td><asp:DropDownListid="ColorLisピAutoPostBack="True*'OnSelected!ndexChanged=nSelection_ChangeHrunat=*'server*'/></td></tr>/table>/form>/body>/html>ListBox控件使用ListBox控件创建允许进行单项或多项选择的列表控件。使用Rows属性指定控件的髙度。若要启用多项选择,请将SelectionMode属性设置为Multiple.若要指定要在ListBox控件中显示的项,请针对每项在ListBox控件的开始标记和结束标记之间放置ー个Listitem元素。ListBox控件还支持数据绑定。若要将控件绑定到数据源,请先创建一个数据源,例如一个DataSourceControl对象,它包含要在控件中显示的项。下ー步,使用DataBind方法将数据源绑定到ListBox控件。使用DataTextField和DataValueField属性分别指定将数据源中哪个字段绑定到控件中每个列表项的Text和Value属性。现在,ListBox控件将显示数据源中的信息。如果SelectionMode属性设置为Multiple,请通过循环访问Items集合以及测试该集合中每个项的Selected属性,来确定ListBox控件中的选定项。如果SelectionMode属性设置为Single,则可使用Selectedlndex属性来确定选定项的索引。然后,可以使用该索引从Items集合中检索项。下面的示例1-7:演示如何使用ListBox.<%@PageLanguage=HC#HAutoEventWireup="Truen%><!DOCTYPEhtmlPUBLICn-//W3C//DTDXHTML1.0Transitional//ENn
</form></body>CheckBox控件CheckBox控件在Web窗体页上创建复选框,该复选框允许用户在true和false状态之间切换。通过设置Text属性,可以指定要在该控件中显示的标题。标题可显示在复选框的右侧或左侧。设置TextAlign属性可以指定标题显示在哪ー侧。由于<asp:CheckBox>元素没有内容,因此可以使用/〉结束该标记。若要确定是否选择了CheckBox控件,请测试Checked属性。当CheckBox控件的状态在向服务器的各次发送过程间更改时,将引发CheckedChanged事件。可以为CheckedChanged事件提供事件处理程序,以便当CheckBox控件的状态在向服务器的各次发送过程间更改时执行特定的任务。在创建多个CheckBox控件时,还可以使用CheckBoxList控件。对于使用数据绑定创建一组复选。默认情况下,在单击CheckBox控件时不会自动向服务器发送窗体。若要启用自动发送,请将AutoPostBack属性设置为true。下面的示例1-8:演示如何使用CheckBox.<%@PageLanguage="C#"AutoEventWireup=**Truen%><!DOCTYPEhtmlPUBLICn-//W3C//DTDXHTML1.0Transitional//ENnn/TR/xhtmll/DTD/xhtmll-transitional.dtd'*><htmlxmlns=H/1999/xhtml”><headrunat=nserverH><title>CheckBoxExample</title><scriptrunat="server”>voidCheck_Clicked(Objectsender,EventArgse)(if(SameCheckBox.Checked)ShipTextBox.Text=BillTextBox.Text;elseShipTextBox.Text=*'n;)</script></head><body><formid=nforml,'runat=nservern><h3>CheckBoxExample</h3><table><tr><td>
BillingAddress:<br/><asp:TextBoxid=HBillTextBoxnTextMode="MultiLine”Rows=n5nrunat=nserver**/></td><td>ShippingAddress:<br/><asp:TextBoxid=uShipTextBox**TextMode="MultiLine"Rows="5"runat="server"/></td></tr><tr><td></td><td><asp:CheckBoxid="SameCheckBox"AutoPostBack="True"Text="Sameasbilling."TextAlign="Right"OnCheckedChanged="Check_Clicked"runat="server"/></td></tr></table></form></body></html>CheckBoxList控件CheckBoxList控件创建可使用数据绑定动态生成的多选复选框组。若要指定要在CheckBoxList控件中显示的项,请针对每项在CheckBoxList控件的开始标记和结束标记之间放置ー个Listitem元素。还可以使用多个CheckBox控件。对于使用数据绑定创建一组复选框而言,CheckBoxList控件更易于使用,而各个CheckBox控件则使您可以更好地控制布局。CheckBoxList控件还支持数据绑定。若要将该控件绑定到数据源,请首先创建ー个数据源(如DataSourceControl对象)以包含要在该控件中显示的项。下ー步,使用DataBind方法将该数据源绑定到CheckBoxList控件。使用DataTextField
和DataValueField属性分别指定将数据源中的哪个字段绑定到控件中每个列表项的Text和Value属性。现在,CheckBoxList控件将显示数据源中的信息。若要确定CheckBoxList控件中的选定项,请循环访问Items集合并测试该集合中每ー项的Selected属性。可以使用RepeatLayout和RepeatDirection属性指定列表的显示方式。如果RepeatLayout设置为RepeatLayout.Table(默认设置),则该列表呈现在ー个表内。如果它被设置为RepeatLayout.Flow,则该列表在呈现时没有任何表结构。默认情况下,RepeatDirection设置为RepeatDirection.Vertical。将此属性设置为RepeatDirection.Horizontal可以在水平方向上呈现该列表。以下内容显示在.aspx文件中声明CheckBoxList控件的示例。该列表包含六个不相互排斥的项。当用户选中某个框时,该页不会立即发送回服务器(直到发生某个其他事件(如Button单击)时オ会发送该页)。由于没有为OnSelectedlndexChanged事件声明任何方法,因此不会调用该事件的任何事件处理程序。下面的示例1-9:演示如何确定CheckBoxList控件中的选定复选框。这段代码循环访问控件的Items集合,并测试每ー项的Selected属性。然后,选定项便显示在Label控件中。<%@PageLanguage-C#"AutoEventWireup="True"%><!DOCTYPEhtmlPUBLIC*-//W3C//DTDXHTML1.0Transitional//EN*"http:〃/TR/xhtml1/DTD/xhtml1-transitional.dtd"><htmlxmlns="/1999/xhtml"><headid="Headl"runat="server"><title>CheckBoxExample</title><scriptrunat="server*>protectedvoidButtonl_Click(objectsender,EventArgse)(strings;s="Selectediterns:<br/>";for(inti=0;i<Checkl.Items.Count;i++)(if(Checkl.Items[i].Selected)(s=s+Checkl.Items[i].Text+"<br/>";))Label1.Text=s;}</script></head><body><formid="forml"runat="server"><asp:CheckBoxListid="Checkl"
RepeatLayout=J*flow”runat=*server*><asp:ListItem>ItemK/asp:ListItem><asp:ListItem>Item2</asp:ListItem><asp:ListItem>Item3</asp:ListItem><asp:ListItem>Item4</asp:ListItem><asp:ListItem>Item5</asp:ListItem><asp:ListItem>Item6</asp:ListItem></asp:CheckBoxList><br/><asp:ButtonID="Buttonl*runat=*server"Text="提交"onclickゴButtonl_Click”/><P><asp:LabelID="Labell"runat="server*></asp:Label></p></form></body></html>RadioButton控件RadioButton服务器控件在Web窗体页上创建一个单选按钮。通过设置Text属性指定要在控件中显示的文本。该文本可显示在单选按钮的左侧或右侧。设置TextAlign属性以控制该文本显示在哪ー侧。如果为每个RadioButton控件指定了相同的GroupName,则可以将多个单选按钮分为ー组。将单选按钮分为ー组将只允许从该组中进行互相排斥的选择。您还可以使用RadioButtonList控件。对于使用数据绑定创建一组单选按钮而言,RadioButtonList控件更易于使用,而单个RadioButton控件则使您能够更好地控制布局。若要确定RadioButton控件是否已选中,请测试Checked属性。下面的示例1-10:演示如何使用RadioButton控件.<%@PageLanguage=HC#nAutoEventWireup=**Truen%><!DOCTYPEhtmlPUBLIC”一//W3C//DTDXHTML1.0Transitional//ENnn/TR/xhtmll/DTD/xhtmll-transitional.dtdn><htmlxmlns=n/1999/xhtmln><head><title>RadioButtonExample</title><scriptlanguage=nC#”runat="server*'>voidSubmitBtn_Click(ObjectSender,EventArgse){if(Radiol.Checked){Labell.Text="Youselected"+Radiol.Text;
elseif(Radio2.Checked){Label1.Text=nYouselected"+Radio2.Text;)elseif(Radio3.Checked){Label1.Text="Youselected"+Radio3.Text;)}</script></head><body><h3>RadioButtonExample</h3><formid=Mforml'*runat=Hserver**><h4>Selectthetypeofinstallationyouwanttoperform:</h4><asp:RadioButtonid=nRadiolHText="Typical”Checked=HTruenGroupName=nRadioGrouplHrunat=userveru/><br/>Thisoptioninstallsthefeaturesmosttypicallyused.<i>Requires1.2MBdiskspace.</i><br/><asp:RadioButtonid="Radio2"Text=HCompactHGroupName="RadioGrouplHrunat=nserverH/><br/>Thisoptioninstallstheminimumfilesrequiredtoruntheproduct.<i>Requires350KBdiskspace.</i><br/><asp:RadioButtonid="Radio3"runat=*'server'*Text=**Full**GroupName="RadioGroupl**/><br/>Thisoptioninstallsallfeaturesfortheproduct.<i>Requires4.3MBdiskspace.</i><br/><asp:buttontext="Submit**OnClick="SubmitBtn_Click"runat="server"/><asp:Labelid="Labell**font-bold=**true**runat=*'server**/></form></body></html>
RadioButtonList控件RadioButtonList控件使您能够创建单项选择的单选按钮组,可以通过绑定到数据源动态生成这个组。若要指定要在RadioButtonList控件中显示的项,请针对每项在RadioButtonList控件的开始标记和结束标记之间放置ー个Listitem元素。还可以使用RadioButton控件。对于使用数据绑定创建一组单选按钮,RadioButtonList控件更方便,而单个RadioButton控件则可以更好地控制布局。RadioButtonList控件还支持数据绑定。若要将控件绑定到数据源,请首先创建数据源(如ArrayList对象),该数据源包含要显示在控件中的项。下ー步,使用DataBind方法将数据源绑定到RadioButtonList控件。使用DataTextField和DataValueField属性分别指定数据源中哪个字段绑定到控件中每个列表项的Text和Value属性。现在,RadioButtonList控件将显示数据源中的信息。若要确定RadioButtonList控件中的选定项,请循环访问Items集合并测试该集合中每ー项的Selected属性。可以使用RepeatLayout和RepeatDirection属性指定如何呈现列表。如果将RepeatLayout设置为Table(默认设置),将以表格形式呈现列表。如果将它设置为Flow,则不会使用任何表格结构呈现列表。默认情况下,RepeatDirection设置为Vertical。将此属性设置为Horizonta!可以水平呈现该列表。下面的示例1-11:演示如何使用RadioButtonList控件.<%@PageLanguage=nC#HAutoEventWireup=HTruen%><!DOCTYPEhtmlPUBLICH-//W3C//DTDXHTML1.0Transitional//EN""/TR/xhtmll/DTD/xhtmll-transitional.dtdH><htmlxmlns=H/1999/xhtmln><head><title>RadioButtonListExample</title><scriptlanguagesnC#Hrunat=Hserver">voidButtonl_Click(objectSource,EventArgse){if(RadioButtonListl.Selectedlndex>-1){Label1.Text="Youselected:"+RadioButtonListl.Selectedltem.Text;))voidchkLayout_CheckedChanged(Objectsender,EventArgse)(if(chkLayout.Checked==true)RadioButtonListl.RepeatLayout=RepeatLayout.Table;
}elseRadioButtonListl.RepeatLayout=RepeatLayout.Flow;))voidchkDirection_CheckedChanged(Objectsender,EventArgse)(if(chkDirection.Checked==true)(RadioButtonListl.RepeatDirection=RepeatDirection.Horizontal;)else(<asp:RadioButtonList<asp:Listltem>ltem<asp:Listltem>ltem<asp:ListItem>Item<asp:ListItem>Item<asp:ListItem>Item<asp:ListItem>ItemRadioButtonList1.RepeatDirection=RepeatDirection.Vertical;}}</script></head><body><h3>RadioButtonListExample</h3><formid=nformlHrunat=nservern>id=nRadioButtonListln<asp:RadioButtonList<asp:Listltem>ltem<asp:Listltem>ltem<asp:ListItem>Item<asp:ListItem>Item<asp:ListItem>Item<asp:ListItem>Iteml</asp:Listltem>2</asp:Listltem>3</asp:Listltem>4</asp:Listltem>5</asp:Listltem>6</asp:Listltem></asp:RadioButtonList><br/><asp:CheckBoxid=nchkLayout**OnCheckedChanged=nchkLayout_CheckedChanged'*Text="DisplayTableLayoutnChecked="true'*AutoPostBack=Mtruenrunat="servern/><br/><asp:CheckBoxid="chkDirectionnOnCheckedChanged=nchkDirection_CheckedChangeduText="DisplayHorizontallynAutoPostBack="true"runat="server"/><br/>
<asp:Buttonid=*'ButtonlnText=nSubmitnonclick=nButtonl_Clicknrunat="server'*/><br/><asp:Labelid=**Labell**font-names=**Verdana**font-size=**8pt**runat=**server**/></form></body></html>Image控件使用Image控件在Web窗体页上显示图像。设置Imagellrl属性可指定所显示图像的路径。通过设置AlternateText属性,可以指定图像不可用时代替图像显示的文本。|mageAlign属性指定图像相对于Web窗体页上其他元素的对齐方式。此控件仅显示图像。如果希望图像的行为类似于按钮或需要确定在图像上单击鼠标指针的位置的坐标,请使用!mageButton控件。由于<asp:lmage>元素没有内容,所以可以用/>结束该标记。下面的示例1-12:演示如何使用Image控件.<%©PageLanguageiC#"%><!DOCTYPEhtmlPUBLIC*-//W3C//DTDXHTML1.0Transitional//EN*"http:〃/TR/xhtml1/DTD/xhtml1-transitional.dtd"><htmlxmlns="/1999/xhtml"><head><title>ImageExample</title><scriptlanguage=*C#*runat=server”)voidButton_Click(Objectsender,EventArgse)(switch(DropListl.Selectedlndex)(case0:Imagel.ImageAlign=ImageAlign.NotSet;break;Imagel.ImageAlign=ImageAlign.Left;break;Imagel.ImageAlign=ImageAlign.Right;break;Imagel.ImageAlign=ImageAlign.Baseline;
break;Image1.ImageAlign=ImageAlign.Top;break;Image1.ImageAlign=ImageAlign.Middle;break;Imagel.ImageAlign=ImageAlign.Bottom;break;Imagel.ImageAlign=ImageAlign.AbsBottom;break;Imagel.ImageAlign=ImageAlign.AbsMiddle;break;Imagel.ImageAlign=ImageAlign.TextTop;break;default:Imagel.ImageAlign=ImageAlign.NotSet;break;}}</script></head><body><formid="forml"runat="server"><h3>ImageExample</h3><divstyle="font-size:large”)语言集成査询(LINQ)是VisualStudio2008和,NETFramework3.5版中一项突破性的创新,它在对象领域和数据领域之间架起了一座桥梁。</div><asp:Imageid="Image1"runat="server"AlternateText="Imagetext"ImageA1ign="left"ImageUrl="zjy.png"/>hr/>SelectImageAlign:<br/><asp:DropDownListid="DropListl"runat="server;ツ<asp:ListItem>NotSet</asp:Listltem><asp:ListItem>Left</asp:ListItem><asp:ListItem>Right</asp:ListItem><asp:ListItem>BaseLine</asp:ListItem><asp:ListItem>Top</asp:ListItem><asp:ListItem>Middle</asp:ListItem><asp:ListItem>Bottom</asp:Listltem><asp:ListItem>AbsBottom</asp:ListItem><asp:ListItem>AbsMiddle</asp:ListItem><asp:ListItem>TextTop</asp:ListItem>/asp:DropDownList>br/Xbr/><asp:Buttonid="Buttonl"Text="ApplyImageAlignment"OnClick="Button_Click"runat="server"/></form></body></html>2.14ImageM叩控件使用ImageMap控件创建一个包含已定义作用点区域的图像。当用户单击某个作用点区域时,该控件可以回发到服务器,或者定位到指定的URLo如果只需要捕获用户单击位置的坐标,不需要作用点功能,则Image控件可以成为ー种有用的替代方法。下面的代码示例1-14:演示如何以声明方式创建一个包含两个CircleHotSpot对象的ImageMap控件。将HotSpot.HotSpotMode属性设置为HotSpotMode.Navigate,这使得每当用户单击某个圆形作用点区域时该页都定位到指定的URLo若要此示例正确工作,您必须为ImageUrl属性提供您自己的图像,并对该图像路径做相应更新,以便应用程序可以找到它。<%0pagelanguage="C#"%><!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""/TR/xhtmll/DTD/xhtmll-transitional.dtd"><htmlxmlns="/1999/xhtml"><headid="headl"runat="server"><title>ImageMapClassNavigateExample</title></head><body><formid="forml"runat="server"><h3>ImageMapClassNavigateExampleく/h3><h4>ShoppingChoices:</h4><asp:imagemapid="Shop"imageurl="zjy.png"width="360"height="360"alternatetext=*Shoppingchoices"runat="Server*><asp:circlehotspotnavigateurl="testl.aspx"x="75"y="290"radius="75"hotspotmode="Navigate"alternatetext="Shopfortoys'></asp:circlehotspot><asp:circlehotspot
navigateurl=*http://www.”x="75”y=*120*radius="75"hotspot
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024至2030年中国脱水白洋葱片行业投资前景及策略咨询研究报告
- 2024至2030年中国树莓酱行业投资前景及策略咨询研究报告
- 2024至2030年中国套装公仔行业投资前景及策略咨询研究报告
- 2024至2030年背光源项目投资价值分析报告
- 2024至2030年石灰消化系统项目投资价值分析报告
- 2024至2030年汽车轮毂装饰盖项目投资价值分析报告
- 2024至2030年单芯超薄壁PVC绝缘低压电线项目投资价值分析报告
- 学校食品采购合同(2025年)
- 2024至2030年高强度活塞连杆焊接机项目投资价值分析报告
- 技术服务进出口合同范本2025年
- 成都中医药大学博士申请
- 公司业绩汇报及规划
- 统编版(2024版)七年级上册历史期末复习课件
- 【MOOC】工程制图-北京科技大学 中国大学慕课MOOC答案
- 招标代理岗位职责规章制度
- 幼儿园大班音乐《献上最美的哈达》课件
- 专题07 非连性阅读(新热点题型)-2023-2024学年八年级语文下学期期中专题复习(深圳专用)(原卷版)
- 2024年净化车间工程的合同
- 残疾儿童家长培训讲座
- 机动车驾驶员考试《科目一》试题与参考答案(2024年)
- 《学前心理学》考试复习题库(含答案)
评论
0/150
提交评论