版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
项目一认识ASP.NET任务一ASP.NET简介任务二了解ASP.NET的开发工具和开发环境任务三了解ASP.NET文件的基本结构任务四ASP.NET页面综合实训第一个ASP.NET程序任务一ASP.NET简介ASP.NET是目前比较流行的Web开发平台之一。作为Microsoft.NETFramework的一部分,它采用基于组件的、可扩展且易于使用的方式来构建、部署及运行面向任意浏览器和移动设备的Web应用程序。一、ASP.NET的产生与发展ASP.NET是Web开发领域的前沿技术,在构建基于HTTP传输协议的分布式应用系统方面,它是目前技术最先进、特性最丰富、功能最强大的开发平台。二、ASP.NET特点简易性:ASP.NET完全基于面向对象开发技术。自定义性和可扩展性:ASP.NET的大部分特征都可以扩展,开发者可以很容易地将自定义特征合并到应用程序中。灵活性:ASP.NET与任何程序语言无直接关系,也不依赖于任何Web浏览器。可管理性:ASP.NET2.0之后的版本是基于Web.config文件进行配置管理的,这使得应用程序不依赖于本地开发环境,更易于移植。可调试性:可以调试ASP.NET应用程序,并跟踪调试的错误或异常。三、ASP.NET和.NETFrameworkASP.NET是Microsoft.NETFramework的一部分,它继承了.NETFramework的很多特性。.NETFramework由框架类库(FrameworkClassLibrary)和公共语言运行库两部分组成。1.命名空间.NETFramework包含差不多13000个类。如果简单地把这些类混杂在一起,那么永远也找不到任何想要的东西。幸好,微软把这些类分别放在了不同的命名空间中。2.程序集程序集(assembly)是保存.NETFramework中类的.dll文件。例如,ASP.NETFramework中的所有类都保存在System.Web.dll程序集中。程序集分私有和共享两类。私有的程序集只能应用于一个应用程序,而共享的程序集能应用于同一个服务器端上的所有应用程序。任务二了解ASP.NET的开发工具和开白发环境案例1-1安装配置IIS服务器本案例介绍在WindowsServer2003操作系统中安装和配置IIS的方法。
IIS是InternetInformationServer的缩写,是Windows操作系统中集成的最重要的Web开发工具,是搭建ASP.NET开发环境时一个必不可少的组件。借助IIS,用户可以在自己的电脑上开发、测试和管理网站。一、VisualStudio2008简介VisualStudio2008是开发ASP.NET3.5的常用工具。使用它不仅可以开发Windows下的应用程序,还可以开发网络应用程序以及手机应用程序。案例1-2安装VisualStudio12008VisualStudio2008安装软件是一个映像文件,安装它需要用到虚拟光驱,本节介绍如何使用虚拟光驱安装该软件。二、熟悉VisualStudio2008开发环境创建新网站之后,系统将自动进入操作界面。工具栏工具箱错误列表窗口页面设计窗口解决方案资源管理器属性窗口任务三了解ASP.NET文件的基白本结构案例1-3在VS2008中创建一个简单ASP.NET页面本节将在任务二第二节中创建的网站“example”中创建一个ASP.NET页面并分析其文档结构,然后在浏览器中浏览该页面。以此了解使用VS2008创建和浏览ASP.NET页面的方法,同时了解ASP.NET页面的基本结构。一、ASP.NET控件概览ASP.NET控件是ASP.NETFramework的核心。一个ASP.NET控件就相当于一个.NET类,它运行在服务器端并将实际内容呈现到浏览器。本书中的大部分内容都是围绕控件来写的。
ASP.NETFramework包含70多个控件,可以简单地将他们分为7组。案例1-4为Web页面添加控件及白事件本节将在页面中添加一个按钮,并为该按钮添加Click事件,以说明控件及其事件的应用方法。在VS2008中使用控件的方法非常简单,只要在“工具箱”中单击并拖动控件到页面设计窗口,然后根据需要设置其属性即可。在添加控件后可以非常容易地为其添加事件,但是在添加事件后往往需要手动输入代码。任务四ASP.NET页面一、处理页面事件任何时候请求一个ASP.NET页面时,都会以特定的顺序引发一套特定的事件。这一系列事件称为页面执行生命周期(pageexecutionlifecycle)。二、使用Page.IsPostBack属性Page类中的IsPostBack属性用于检测页面是否已经回传给服务器端。由于很多控件不支持每次页面加载都被重新初始化。这样就需要用IsPostBack属性来检测页面是否已经回传给服务器端。可以这么理解,对于每次页面加载时都需要被初始化的控件,可以将其代码放在IsPostBack中,对于只需要加载一次的控件,可以将其代码放在if(!IsPostBack)中。三、调试和跟踪ASP.NET页面1.调试ASP.NET页面编辑页面时,如果需要获得详细的错误信息,可以为这个页面或整个应用程序启用调试。在<%@Page%>指令中添加Debug="True"属性,然后在Web浏览器中打开页面,详细的错误信息就会显示出来。2.使用VS2008调试程序在使用VS2008制作和编辑页面时,页面设计窗口下方的“错误列表”会实时地显示编译错误信息和警告。双击任何一个错误,将直接导航到引发该错误的代码处。四、跟踪页面执行跟踪就是在页面中添加程序代码从而实现调试、输出变量值或找出程序代码运行的过程。ASP.NETFramework同时支持页面和程序跟踪。通过在<%@Page%>指令中添加Trace="true"属性可以启用页面跟踪,并使跟踪信息附加在页面底部。另外,为更好地了解应用程序的运行,在页面跟踪中,可以使用Trace.Warn()方法向跟踪信息区中输出任何想要的字符串。综合实训第一个ASP.NET程序使用VS2008创建一个网站项目,在该项目中创建一个网页,网页内容为显示当前日期及时间。0102030405新建班级新建作业成绩统计布置作业学生扫码做小提示:生成的班级二维码,放在下一页ppt中即可。放入二维码后,记得取消“隐藏幻灯片”哦~扫码布置本课作业↑↑↑扫码布置作业WENJINGKETANG课后作业请同学们扫一扫进入班级做作业引用配套微课,学生线上看,系统自动记成绩;大作业一键收发,在线判分扫码申请免费开通→线上建课WENJINGKETANG扫码填写问卷定制更实用的教学资源对课件有修改、优化建议平台使用遇到问题想免费使用平台、免费建课扫码加小旌好友为您提供专属服务哦项目二ASP.NET标准控件任务一显示信息任务二接收用户输入任务三提交表单数据任务四显示图像任务五使用Panel控件任务六使用HyperLink控件任务七使用Rich控件任务一显示信息一、使用Label控件在需要动态修改显示在页面中的信息时,可以使用Label控件。例如,在项目一的综合实训中就使用Label控件的Text属性动态地显示页面打开的时间。在实际应用中,可以给Text属性赋值简单的文本或HTML内容。案例2-1使用Label控件标注
白TextBox控件可以使用Label控件来标注HTML表单字段。本案例使用Label控件标注TextBox控件,以建立它们之间的关联。该案例的技术要点在于:使用Label控件的AssociatedControlID属性指向TextBox控件。该属性能够帮助使用屏幕阅读器等辅助设备的用户正确地把标签和表单输入框关联起来。另外,使用该属性后,当点击标签时自动把表单焦点设置为关联的表单输入框。任务二接收用户输入ASP.NET中用来接收用户输入的控件有TextBox、CheckBox和RadioButton。这些控件对应HTML中的<input>标签。一、使用TextBox控件TextBox控件主要用于接收用户文本输入。在某些网站进行注册时常常需要输入用户名、密码等资料,这些就是用TextBox控件实现的。二、使用CheckBox控件CheckBox控件在浏览器中显示为一个复选框,下面列出了其常用属性及其意义。AutoPostBack:用于设定当CheckBox控件选中或取消选中时,自动向服务器回传包含该控件的表单。Checked:获取或设置CheckBox控件是否被选中。Enabled:将其值设置为“False”,可禁用CheckBox控件。Text:为CheckBox控件提供一个标签。TextAlign:用于对齐CheckBox标签,其值可以为Left或Right。三、使用RadioButton控件RadioButton控件在浏览器中显示为一个单选按钮。一般情况下它都是成组出现的,并且每次只能选择一个。任务三提交表单数据一、使用Button控件Button控件是指用来向服务器端提交表单的按钮。下面列出了其常用属性及其意义。CommandArgument:用于指定传给Command事件的命令参数。CommandName:用于指定传给Command事件的命令名。Enabled:将其值设置为False,可禁用Button控件。OnClientClick:指定点击按钮时执行的客户端脚本。PostBackUrl:设置将表单传给某个页面。TabIndex:设置Button控件的Tab顺序。Text:设置Button控件上显示的文本。二、使用LinkButton控件LinkButton控件同Button控件的功能一样,用于把表单传到服务器端。不同之处在于,Button控件显示为一个按钮,而LinkButton控件显示为一个链接。其常用属性与Button控件一样。三、使用ImageButton控件ImageButton控件的用法类似于Button控件和LinkButton控件。只是其在浏览器中显示为一幅图片,并且需要设置图片路径。案例2-2使用Button控件显示确白认对话框前面讲述的三种Button控件都支持OnClientClick属性,可以使用该属性来执行单击按钮时所需的任何客户端代码。本例通过使用该属性,来实现单击按钮时显示一个确认对话框。四、执行跨页面发送跨页面发送就是将当前页面输入信息提交到另一个页面,由另一个页面进行信息处理。该功能常被用于用户注册页面中。例如,用户输入注册资料,单击“注册”按钮,另一个页面中会显示“××用户已成功注册”等信息。前面介绍的每个按钮控件都有PostBackUrl属性,使用该属性可以把表单数据提交到其他页面。任务四显示图像一、使用Image控件Image控件用于显示图像,下面列出了它的常用属性及其意义。AlternateText:为图像设置替代文本。DescriptionUrl:用于设置指向包含该图像详细描述的页面的链接。GenerateEmptyAlternateText:为AlternateText属性设置空字符串值。ImageAlign:用于设置图像和页面中其他HTML元素的对齐方式。可用的值有AbsBottom、AbsMiddle、BaseLine、Bottom、Left、Middle、Notset、Right、TextTop和Top。ImageUrl:用于设置图片的URL。案例2-3使用ImageMap控件制白作导航条ImageMap控件可以生成客户端图像映射。一个图像映射显示一幅图片,它可以将图片分成多个不同的区域,单击这些区域,可以激发相应的事件。本例把图像映射当做导航条,单击图像映射的不同区域,可以导航到网站中的不同页面。任务五使用Panel控件使用Panel控件可以隐藏或显示一组ASP.NET控件。其常用属性及其意义如下。DefaultButton:用于设置Panel控件中的默认按钮。Direction:用于设置Panel控件中包含文本的控件的文本方向。可用的值有NotSet、LeftToRight和RightToLeft。GroupingText:把Panel控件呈现为一个带特殊Legend的字段集。HorizontalAlign:用于设置Panel控件区域中内容的横向对齐方式。可用的值有Center、Justify、Left、NotSet和Right。ScrollBars:用于在Panel控件周围设置滚动条。可用的值有Auto、Both、Horizontal、None和Vertical。任务六使用HyperLink控件HyperLink控件用于创建页面链接。与LinkButton控件不同的是,HyperLink控件不向服务器端提交表单。下面列出了其常用属性及其意义。Enabled:将其值设为“False”,可禁用超链接。ImageUrl:用于为超链接指定一个图片。NavigateUrl:用于设置超链接指向的URL。Target:将其值设为“_blank”,可在新窗口中打开链接的URL。Text:用于标注超链接。任务七使用Rich控件Rich控件主要包括FileUpload控件、Calendar控件以及MultiView控件等。它们分别可以上传文件、制作日历以及制作选项卡式页面视图。一、使用FileUpload控件上传文件上传文件是动态网站的常见功能之一。例如,网络商店经常需要上传商品图片,软件下载网站需要上传软件等。使用FileUpload控件可以非常方便地实现文件上传。上传文件后,可以将其保存在文件系统或数据库中,本节主要介绍如何将文件保存在文件系统中。二、使用Calendar控件Calendar控件用于显示日历,使用它可以设置各种日历显示格式。可以把日历当做日期选择器来使用或用于显示预定事件列表。案例2-4创建弹出式日期选择器所谓弹出式日期选择器,就是在单击页面中的日历图标时弹出一个日期选择器,可从中选择一个日期,使其显示在文本框中,从而省去输入日期的麻烦。本例使用Calendar控件,并结合JavaScript和CSS规则,创建一个奇特的弹出式日期选择器。三、使用MultiView控件显示选项卡式页面视图MultiView控件往往包含一个或多个View控件,可以选择呈现其中的某个View控件(被选中的控件称作ActiveView),其他View控件则被隐藏。可以使用MultiView控件的该功能创建选项卡式页面。0102030405新建班级新建作业成绩统计布置作业学生扫码做小提示:生成的班级二维码,放在下一页ppt中即可。放入二维码后,记得取消“隐藏幻灯片”哦~扫码布置本课作业↑↑↑扫码布置作业WENJINGKETANG扫码填写问卷定制更实用的教学资源对课件有修改、优化建议平台使用遇到问题想免费使用平台、免费建课扫码加小旌好友为您提供专属服务哦项目三使用验证控件任务一验证控件概述任务二验证控件用法综合实训实现会员注册验证任务一验证控件概述ASP.NET3.5Framework中有6个验证控件,下面列出了它们的功能及意义。RequiredFieldValidator:用于必填字段验证,可用于要求用户必须输入值时。RangeValidator:用于检测输入的值是否在确定的最小值和最大值之间。CompareValidator:用于两个控件数值的比较验证或执行数据类型检查。RegularExpressionValidator:用于比较输入值是否符合规定的正则表达式。CustomValidator:用于执行自定义验证。ValidationSummary:用于集合显示页面中所有验证错误的摘要。一、使用Page.IsValid属性在处理含有验证控件的表单数据时,应当总是检查Page.IsValid属性。每个验证控件都包含一个IsValid属性,如果没有验证错误,这个属性返回True。如果页面中所有验证控件的IsValid属性都返回True,则Page.IsValid属性返回True。二、设置Display属性所有的验证控件都包含Display属性,它决定如何呈现验证错误信息。该属性的可用值有3个:Static、Dynamic和None。三、突出显示验证错误验证控件是通过其ErrorMessage属性来显示验证错误的。一般情况下,我们会给ErrorMessage属性赋一个简单的文本字符串,比如“该项为必填”。实际上,ErrorMessage属性接受任何HTML字符串。案例3-1使用验证组实现登录、注册验证验证组可以把相关联的表单字段组合在一起。这在一个页面中同时包含两个或多个表单时非常有用。本例使用验证组在同一个页面中包含登录和注册两个表单,并且每个表单都有互不相干的一套验证控件。四、禁用验证所有的按钮控件(Button控件、LinkButton控件和ImageButton控件)都有CausesValidation属性。为该属性赋值False,则点击这个按钮就会绕过页面中所有的验证。任务二验证控件用法一、使用RequiredFieldValidator控件RequiredFieldValidator控件用于要求用户在提交表单前在表单字段中输入值。它有两个重要的属性是必须要设置的。ControlToValidate:被验证的表单字段的ID值。ErrorMessage:验证失败时显示的错误信息。二、使用RangeValidator控件在网上订购商品时,经常会出现“用户订购的商品不能少于××个”的提示。这就是通过使用RangeValidator控件限制用户输入范围来实现的。RangeValidator控件用于检测表单字段的值是否在指定的最小值和最大值之间。下面列出了该控件的常用属性及其意义。ControlToValidate:被验证的表单字段的ID值。ErrorMessage:验证失败时显示的错误信息。MinimumValue:验证范围的最小值。MaximumValue:验证范围的最大值。Type:所执行的比较类型。可用的值有String、Integer、Double、Date和Currency。三、使用CompareValidator控件在网站上注册时,经常需要输入两次密码,如果前后两次输入不一致的话,就会收到错误提示。这是使用CompareValidator控件实现的。CompareValidator控件可用于执行三种不同类型的验证任务。首先,可使用它执行数据类型检测。其次,也可以用CompareValidator控件将输入表单字段中的值和一个固定值进行比较。最后,可以用CompareValidator控件比较一个表单字段的值与另一个表单字段的值。案例3-2使用CompareValidator控件实现酒店预订日期验证我们都知道,在网上酒店预订房间时,往往会要求你输入入住日期和退房日期,此时所填的入住日期肯定是要小于退房日期的,如果你输入的日期不符合这一要求,则会出现错误提示。本案例使用CompareValidator控件来实现这一功能。四、使用RegularExpressionValidator控件RegularExpressionValidator控件用于验证表单字段的输入格式。它主要通过把表单字段的值和正则表达式进行比较来实现验证。正则表达式是由一连串普通字符和特殊字符组成的字符串模式,它可用于表示电子邮件地址、社会保障号、电话号码和产品编码等。RegularExpressionValidator控件最常用的属性是“ValidationExpression”,它表示正则表达式。五、使用CustomValidator控件当前面所讲的验证控件都不能满足你的需要时,可以使用CustomValidator控件。它可以关联一个验证函数。下面列出了CustomValidator控件的常用属性及其意义。ControlToValidate:所验证的表单字段的ID值。ErrorMessage:验证失败时显示的错误信息。ClientValidationFunction:用于执行客户端验证的客户端函数名。除上面的属性外,CustomValidator控件还支持下面的事件。ServerValidate:CustomValidator控件执行验证时引发。综合实训实现会员注册验证本实训的目的是巩固前面所学知识,掌握各个验证控件在实际网站制作中的应用。本实训内容是创建一个网页,并为其设置一般网站注册时所需要的各项;然后根据实际情况,使用前面学习的验证控件对各项进行验证。比如,用户名字段不能为空,电子邮件字段必须符合其正则表达式的模式等。0102030405新建班级新建作业成绩统计布置作业学生扫码做小提示:生成的班级二维码,放在下一页ppt中即可。放入二维码后,记得取消“隐藏幻灯片”哦~扫码布置本课作业↑↑↑扫码布置作业WENJINGKETANG扫码填写问卷定制更实用的教学资源对课件有修改、优化建议平台使用遇到问题想免费使用平台、免费建课扫码加小旌好友为您提供专属服务哦项目四数据访问概述任务一安装和使用SQLServer2005任务二使用DataBound控件任务三DataSource控件概述任务四使用编程式数据绑定任务五模板和数据绑定表达式综合实训创建会员信息应用程序任务一安装和使用SQLServer白
2005一、SQLServer2005简介为了满足不同人员对SQLServer2005的需求,Microsoft公司提供了5个不同的版本来满足不同人员的需求,分别是SQLServer2005EnterpriseEdition(企业版本)、SQLServer2005StandardEdition(标准版本)、SQLServer2005WorkgroupEdition(工作组版本)、SQLServer2005DeveloperEdition(开发版本)和SQLServer2005ExpressEdition(精简版本)。案例4-1安装配置SQLServer2005本案例介绍在WindowsServer2003系统上进行SQLServer2005开发版的安装。
SQLServer2005支持在同一个服务器上安装多个SQLServer2005实例,其实就相当于多个虚拟的SQLServer2005服务器。另外它也支持在同一个服务器上安装SQLServer2005及其早期版本。不管是默认实例还是命名实例,都有自己的一套程序文件和数据文件,以及一套在计算机上的所有实例之间共享的公共文件,用户可以相互独立的使用SQLServer2005的实例。二、熟悉SQLServer2005开发环境SQLServer2005安装完成后,选择“开始>所有程序>MicrosoftSQLServer2005”菜单,可以看到其中添加了六项程序和服务。其中最常用的工具是SQLServerManagementStudio,本节主要讲解它的应用。案例4-2创建数据库每一个应用程序在开发之前都必须先创建一个数据库,并设置数据库的存储位置。本案例介绍数据库的创建过程。默认方式下,创建的数据库都包含一个主数据文件和一个事务日志文件,如果需要,也可以包含辅助数据文件和多个事务日志文件。一般情况下,数据库文件默认存放在“C:\ProgramFiles\MicrosoftSQLServer\MSSQL.1\MSSQL\Data”文件夹,当然,不同的SQLServer2005实例存放在不同的默认文件夹,用户在创建数据库或添加新文件时,可以更改数据文件或日志文件的路径。案例4-3创建数据表表是数据库的重要组成部分,创建了数据库后就可以在其中创建表了,本案例将创建一个与动画片相关的表。在一个表中可以通过一列或几列数据的组合来唯一地标识表中的一条记录。这种用来标识表中记录的列或列的组合称为主键。任务二使用DataBound控件一、使用列表式DataBound控件列表式DataBound控件用于显示简单的选项列表。ASP.NET3.5中包含以下5个列表式DataBound控件。BulletedList:显示列表项。可以显示为文本、链接按钮或者超链接。CheckBoxList:显示复选框列表。能够选择列表中的多个复选框。DropDownList:显示下拉列表框。只能选择下拉列表框中的一项。ListBox:显示列表框。能够配置此控件,使它只单选一项或者可以一次选择多项。RadioButtonList:显示单选按钮列表。只能选中一个单选按钮。二、使用表格式DataBound控件表格式DataBound控件用于显示数据,并且在某些时候还可以修改从数据库或其他数据源获取的数据。它是操作数据库记录时常用的控件。三、使用层次DataBound控件层次DataBound控件用于显示嵌套数据项。例如网站的文件夹和页面结构、XML文件内容或主从结构的数据记录等。ASP.NET3.5中包含两个层次DataBound控件。Menu:在静态或动态菜单中显示数据。TreeView:在树视图中显示数据项。案例4-4使用Image控件自动显示图片在ASP.NETFramework中,可以将任何控件与来自数据源的数据记录绑定在一起。本案例通过将Image控件绑定到数据源,来显示照片库。任务三DataSource控件概述DataSource控件又称数据源控件,使用它可以自动生成插入、更新、删除等功能。方便数据绑定控件显示和操作数据。一、使用DataSource控件ASP.NET3.5中有6种DataSource控件。SqlDataSource:用于连接和显示SQL关系数据库的数据,包括MicrosoftSQLServer、Oracle或DB2。LinqDataSource:表示LINQtoSQL查询。AccessDataSource:用于连接和显示来自于MicrosoftAccess数据库的数据。ObjectDataSource:用于连接和显示来自于业务对象的数据。XMLDataSource:用于连接和显示来自于XML文档的数据。SiteMapDataSource:用于连接来自于站点地图提供程序(SiteMapProvider)的数据。站点地图提供程序展示一个网站的页面和文件夹结构。二、使用DataSource控件的ASP.NET参数大部分DataSource控件都支持ASP.NET参数。使用ASP.NET参数可以改变DataSource控件所执行的命令。不同类型的DataSource控件使用不同的ASP.NET参数。对于SqlDataSource控件而言,使用SQL语句的参数。任务四使用编程式数据绑定在前面出现的几个例子中,当DataBound控件绑定到DataSource控件时,都是使用声明式数据绑定的。使用这种数据绑定方式,从DataSource控件获取数据项时,ASP.NETFramework会处理所有细节。任务五模板和数据绑定表达式大部分数据绑定控件都支持模板。在使用数据绑定控件显示数据时,可以使用模板来格式化每一个数据项的布局和外观。通过模板,可以使用数据绑定表达式来显示数据项的值。一、使用模板除TreeView控件外,ASP.NET3.5中的其他数据绑定控件都支持模板。Repeater、Datalist、FormView等控件都要用到模板。没有模板,这些控件将无法显示数据。GridView、DetailsView和Menu控件也支持模板,但不是必需的。二、使用数据绑定表达式数据绑定表达式是一种直到运行时才计算出结果的特殊表达式。它包含在<%#和%>符号之间。上节示例代码4-6中的3个表达式都调用了Eval()方法。该方法是Page类的受保护方法。实际上,Page类的Eval()方法调用的是共享的静态DataBinder.Eval()方法。在ASP.NET1.x版本中,必须在模板中使用DataBinder.Eval()方法来显示数据项。在ASP.NET2.0中,为方便编程才提供了现在这种简短的语法。综合实训创建会员信息应用程序本项目对数据访问控件做了简单概述,最后创建这个会员信息应用程序,是为使大家了解使用数据控件在实际的工作中可以实现的功能。0102030405新建班级新建作业成绩统计布置作业学生扫码做小提示:生成的班级二维码,放在下一页ppt中即可。放入二维码后,记得取消“隐藏幻灯片”哦~扫码布置本课作业↑↑↑扫码布置作业WENJINGKETANG扫码填写问卷定制更实用的教学资源对课件有修改、优化建议平台使用遇到问题想免费使用平台、免费建课扫码加小旌好友为您提供专属服务哦项目五使用DataSource控件任务一使用SqlDataSource控件任务二使用ObjectDataSource控件任务一使用SqlDataSource控件SqlDataSource控件属于不可见控件,它不会呈现任何内容。通常需要和其他控件(如FormView或GridView)一起使用来显示和编辑数据库数据。SqlDataSource控件也能通过编程方式执行数据库SQL命令。一、连接到MicroSoftSQLServer默认情况下,SqlDataSource控件连接的是MicroSoftSQLServer7.0及更高版本的数据库。使用SqlDataSource控件的ConnectionString属性可以表示数据库连接字符串。二、在Web配置文件中保存连接字符串不建议将连接字符串保存在ASP.NET页面中的原因有三个。首先,从安全角度来说,这不是个好做法。其次,将连接字符串添加在每个页面上会给站点管理带来不必要的麻烦。如果要修改密码,则需要修改每个包含该连接字符串的页面。最后,在ASP.NET页面中保存连接字符串对应用程序的性能也有潜在的影响。基于上述三个原因,应该尽可能将连接字符串保存在Web配置文件中。三、对连接字符串加密从加强安全的角度考虑,可以对连接字符串加密。也就是对Web配置文件中的<connectionStrings>配置节加密。案例5-1通过执行内联SQL语句编辑数据库数据本案例介绍使用内联SQL语句来实现选择、插入、更新和删除数据库表中数据的功能。
SqlDataSource控件用于表示4种不同类型的SQL命令。它支持以下4种属性,可以将任意SQL语句分配给这些属性。SelectCommand:选择数据库表中的数据。InsertCommand:向数据库表中插入数据。UpdateCommand:更新数据库表中的数据。DeleteCommand:删除数据库表中的数据。任务二使用ObjectDataSource控件ObjectDataSource控件可用于绑定DataBound控件,例如将GridView、DetailsView和FormView等控件绑定到该控件中。
ObjectDataSource控件包含5个主要属性,其意义分别如下:TypeName:ObjectDataSource控件所表示的对象类型名称。SelectMethod:查询数据时ObjectDataSource控件调用的方法名称。UpdateMethod:更新数据时ObjectDataSource控件调用的方法名称。InsertMethod:插入数据时ObjectDataSource控件调用的方法名称。DeleteMethod:删除数据时ObjectDataSource控件调用的方法名称。一、绑定到组件组件的知识将会在项目八中做简单介绍,觉得本节知识不太好理解的读者可以先看一下项目八中的任务一。本节我们从一个简单的组件开始,示例代码5-4中的CartoonCollection组件包含一个名为GetCartoons()的方法,调用该方法将返回一个集合来表示动画记录清单的内容。二、绑定到DataReader在.NETFramework中,ObjectDataSource控件可以使用多种方法来表示数据库中的数据。本节主要介绍如何使用ObjectDataSource控件来绑定ADO.NET中的DataReader。
DataReader对象具有快速、只读的数据库数据读取能力。如果需要尽可能快速地读取数据库表中的记录,就可以考虑使用DataReader对象。案例5-2将ObjectDataSource控件绑定到DataSet对象本案例介绍如何使用ObjectDataSource控件绑定到DataSet对象来显示动画记录信息。
DataSet对象比DataReader对象的效率要低一些。但是对DataSet表示的数据,可以执行一些高级操作,例如过滤或排序等。三、绑定到LINQtoSQL查询在.NETFramework3.5中,LINQtoSQL是首选的数据访问方法。在与数据库进行交互时,最好使用LINQtoSQL。0102030405新建班级新建作业成绩统计布置作业学生扫码做小提示:生成的班级二维码,放在下一页ppt中即可。放入二维码后,记得取消“隐藏幻灯片”哦~扫码布置本课作业↑↑↑扫码布置作业WENJINGKETANG扫码填写问卷定制更实用的教学资源对课件有修改、优化建议平台使用遇到问题想免费使用平台、免费建课扫码加小旌好友为您提供专属服务哦项目六使用列表控件任务一列表控件概述任务二常见列表控件的用法综合实训使用ListBox控件实现点菜功能任务一列表控件概述一、声明列表项列表控件显示为一个选项列表,其中的每个选项都由ListItem类的一个实例表示。可以使用示例代码6-1中的页面显示一组选项,用于在页面中选择自己获取信息的方式。二、绑定到数据源每种列表控件都可以绑定到数据源。列表控件同时支持声明式绑定和编程式绑定。在示例代码6-2的页面中,DropDownList控件通过声明式绑定绑定到动画数据表,如下图所示。三、确定被选中的列表项在使用列表控件显示选项时,有时候需要确定用户选中了哪一项。使用以下三个属性可以确定被选中的项目。SelectedIndex:获取或设置被选中项目的索引。SelectedItem:获取被选中的项目。SelectedValue:获取或设置被选中项目的值。四、设置默认选项在将列表控件绑定到数据源时,可以将声明在列表控件中的列表项和绑定数据源时添加的列表项混合在一起。该功能在需要显示一个默认选项时非常有用。例如,假设需要一个表单来让用户从列表控件中选择某项,就可以在列表控件中添加一个为空值的默认项,以确定用户是否确实对这些选项进行了选择操作。只需要将列表控件的AppendDataBoundItems属性值设为True就可以将声明的列表项和绑定数据源时添加的列表项混合起来。案例6-1使用列表项集合制作选择框本案例通过使用列表项集合,将列表项从一个ListBox控件转移到另一个ListBox控件中去。列表控件中显示的所有列表项都包含在列表控件的列表项集合中。该集合通过控件的Items属性公开。可以直接访问该集合中的列表项。例如,可以增加或删除指定的列表项或者将列表项重新排序。任务二常见列表控件的用法一、DropDownList控件使用DropDownList控件,可以在最小的屏幕空间内显示一组选项。使用该控件时,用户每次只能选择一个选项。示例代码6-7中的页面显示了如何使用DropDownList控件来显示所有来自Cartoon数据库表的动画名称。二、RadioButtonList控件RadioButtonList控件同DropDownList控件一样,也是一次只能选择一个选项。不过它显示的一组单选按钮可以纵向或横向排列。示例代码6-8中的页面显示了如何使用RadioButtonList控件来显示一组动画名称列表。三、ListBox控件ListBox控件与DropDownList控件非常相似,其不同之处只有两点。第一,ListBox控件一般会显示一定数量的选择项,所以它往往要占用较多的屏幕空间;第二,ListBox控件允许用户一次选择多项。ListBox控件使用“Rows”属性来设置其一次显示的选择项的数量;使用“SelectionMode”属性来设置其是否允许用户一次选择多个选项,将其值设置为“Multiple”表示允许。四、CheckBoxList控件CheckBoxList控件可以显示一组复选框列表。和前面介绍的几个列表框不同的是,CheckBoxList控件默认就可以选择多个项目。另外,通过以下属性可以很方便地设置复选框为纵向或者横向排列。RepeatColumns:复选框要显示的列数。RepeatDirection:复选框排列的方向。可以为其赋值Horizontal(横向)或者Vertical(纵向)。RepeatLayout:决定生成的复选框是否显示在一个HTML表格中,可以为其赋值Table或者Flow。五、使用BulletedList控件BulletedList控件可以显示为无序列表(项目符号)或有序列表(带编号)。列表项可以为简单文本、LinkButton控件或是到其他Web页面的链接。通过设置控件的BulletStyle属性可以控制列表项的外观。该属性可以为Circle、NotSet、CustomImage、Numbered、Disc、Square、LowerAlpha、UpperAlpha、LowerRoman和UpperRoman。综合实训使用ListBox控件实现点菜功能本章简单介绍了列表控件的用法,最后实现这个点菜功能,是为使大家对列表控件在实际工作中的应用有更深刻的认识。0102030405新建班级新建作业成绩统计布置作业学生扫码做小提示:生成的班级二维码,放在下一页ppt中即可。放入二维码后,记得取消“隐藏幻灯片”哦~扫码布置本课作业↑↑↑扫码布置作业WENJINGKETANG扫码填写问卷定制更实用的教学资源对课件有修改、优化建议平台使用遇到问题想免费使用平台、免费建课扫码加小旌好友为您提供专属服务哦项目七使用GridView及其白他数据控件任务一使用GridView控件任务二其他常用数据控件任务一使用GridView控件一、使用GridView控件显示数据GridView控件将数据项显示在一个HTML表格中。每个数据项被显示为一个独立的行。二、选择数据用户可以在GridView控件显示的数据中选择单行。在创建单页面的主从结构表单时该功能非常有用。示例代码7-2的页面中就有两个GridView控件,第一个控件显示电影类别列表,当选择其中一个类别后,第二个控件中就显示出与该类别相匹配的电影列表。三、使用数据键通过设定DataKeyNames属性,可以在GridView控件中为每行关联一个值。可以指定一个数据列或者使用逗号分隔开的几个数据列作为属性值。例如,会员信息表使用两个列——ID和姓名——作为其主键。在示例代码7-3的页面中,选中一条会员记录后就可以显示出该会员的详细数据。四、数据排序将GridView控件的AllowSorting属性设置为“true”,可以对其显示的数据进行排序。当AllowSorting属性值设置为“true”时,GridView的列标题就显示为链接。点击列标题,就可以根据选中列对GridView中的记录进行排序。案例7-1完全自定义排序界面本案例使用DropDownList控件对GridView控件进行排序。在DropDownList控件中选择列表项并单击“排序”按钮,即可对GridView控件中的数据进行排序。五、数据分页如果要在表格中显示大量数据,往往需要把这些数据分页显示在不同的页面上。将GridView控件的AllowPaging属性设置为“true”就可以启用分页功能。通过设置GridView控件的PageSize属性可以指定每页显示的记录数(如果不设置PageSize属性,默认每页显示10条记录)。在启用分页功能后,默认情况下页码会显示在表格底部。通过修改GridView控件的PagerSettings属性就可以修改分页界面。案例7-2完全自定义分页界面本案例使用GridView控件的PagerTemplate属性,对分页界面的外观进行完全自定义。在PagerTemplate中使用一个Menu控件来显示页码,并使用两个LinkButton控件表示前一条和后一条记录。六、编辑数据使用GridView控件,可以在不写任何代码的情况下编辑数据库记录。通过启用GridView控件的AutoGenerateEditButton和AutoGenerateDeleteButton属性,并将其值设置为“true”,则在GridView控件的每一行记录旁边都会自动添加“编辑”和“删除”链接。七、显示空数据在使用搜索功能时,如果数据源中没有与搜索内容相符的结果时,可以使用GridView控件的EmptyDataText属性来处理空数据。在示例代码7-7的页面中,包括一个动画搜索表单。如果没有动画名称和用户输入的搜索字符相匹配,就会显示一个痛哭的卡通人物和“没有相匹配的动画!”字符串。八、格式化GridView虽然GridView控件本身有丰富的格式化属性,但在实际的工作中,一般使用CSS来格式化,因为这些属性会增加页面的容量。任务二其他常用数据控件一、Repeater控件Repeater控件可以一次显示一组数据项。它完全由模板驱动,可以任意设置其输出格式。例如,可以使用bulletedlist、HTML表格或者在逗号分隔的list中显示数据记录。要使用Repeater控件显示数据,必须创建一个ItemTemplate。二、DataList控件DataList控件和Repeater控件一样由模板驱动。其默认输出一个单列的HTML表格。在使用DataList控件显示数据时,必须使用ItemTemplate,它用于输出数据源中的每一条数据记录。三、ListView控件ListView控件是.NET3.5中新引入的数据控件。和GridView控件一样,它可以对数据库数据进行显示、编辑、删除、选择、分页和排序等操作。所不同的是,ListView控件是完全由模板驱动的,而且还可以用来向数据库中插入新数据。也可以将ListView控件理解为DataList控件的替代者。和DataList控件一样,ListView控件可以在多个列中显示数据库记录。四、DataPager控件DataPager控件可以和ListView控件一起使用实现分页功能。它包含下面的属性。PageSize:获取或设置每页所显示的项的数量。PagedControlId:获取或设置需要分页的控件ID(目前该控件只能为ListView)。Fields:获取DataPager包含的字段。StartRowIndex:获取要显示的第一个项的索引。MaximumRows:获取从数据源中得到的最大行数。TotalRowCount:获取数据源中可用的总项数。五、DetailsView控件DetailsView控件可以在一个HTML表格中显示一条数据库记录。它支持声明式数据绑定和编程式数据绑定。通过使用字段可以对DetailsView控件的外观做更多设置,例如指定某列显示或某列不显示等。案例7-3使用DetailsView控件编辑数据本案例使用DetailsView控件实现编辑、删除和插入数据记录的功能。如果需要对数据记录进行编辑,可以将DetailsView控件的AutoGenerateEditButton属性设为“True”,另外还要设置其主键列——即DataKeyNames属性值。如果要使用DetailsView控件在数据库表中插入记录,可以将AutoGenerateInsertButton属性值设置为“True”。如果要使用DetailsView控件删除数据库表中的某条记录,可以将AutoGenerateDeleteButton属性设置为“True”。六、FormView控件同DetailsView控件一样,FormView控件也可用于显示、分页、编辑、插入和删除数据记录。所不同的是,DetailsView将记录显示在HTML表格行中,而FormView控件则可以使用模板来完全定制用户界面(它是完全由模板驱动的)。案例7-4使用FormView控件编辑记录本案例使用FormView控件来编辑动画数据表中的记录。0102030405新建班级新建作业成绩统计布置作业学生扫码做小提示:生成的班级二维码,放在下一页ppt中即可。放入二维码后,记得取消“隐藏幻灯片”哦~扫码布置本课作业↑↑↑扫码布置作业WENJINGKETANG扫码填写问卷定制更实用的教学资源对课件有修改、优化建议平台使用遇到问题想免费使用平台、免费建课扫码加小旌好友为您提供专属服务哦项目八ADO.NET基础任务一创建基本组件任务二连接模式数据访问任务三非连接模式数据访问任务一创建基本组件使用组件可以在多个页面或多个应用程序之间重用应用程序。例如,编写一个名为GetCartoons()的方法,就可以在站点的任何页面中应用它。另外,使用组件可以使应用程序更容易维护和扩展。组件常用于比较复杂的应用程序,当需要多次重写一个方法时,最好将其提取出来放入组件中。一、初识组件为便于理解,我们首先来创建一个简单的组件,并使用该组件显示一个简单的信息。二、组件的编译在ASP.NET中,组件不需要进行显式编译,App_Code文件夹中的任何组件都会像ASP.NET页面一样被自动编译。当在App_Code文件夹中添加了新组件后,在访问该站点中的任意页面时,App_Code文件夹中的内容都会编译进新的程序集,并保存到ASP.NET临时文件夹中,位于下面的路径。
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\TemporaryASP.NETFiles\[applicationname]三、声明方法使用C#编写组件时,可以通过定义函数的形式创建成员方法。WriteMessage()方法是一个实例方法。也就是说,必须创建了Hello类的实例后才能调用它。其使用方法如以下代码所示。
HelloobjHello=newHello();lblMessage.Text=objHello.WriteMessage();四、声明字段和属性在ASP.NET中,可以使用两种方式为组件定义属性——散漫方式和严谨方式。使用散漫方式创建的属性严格来说相当于一个公共字段。如果使用Public访问修饰符声明字段,则可以从组件之外访问该字段。五、声明构造函数在创建类实例时被自动调用的特殊类方法称为构造函数。通常用它来初始化类中包含的私有字段。使用C#创建构造函数时,要创建一个和类名相同的方法。任务二连接模式数据访问ADO.NETFramework提供了大量的类,但其核心是由下面三个类组成的。Connection:用于表示数据源的连接。Command:用于执行应用于数据源的命令。DataReader:用于表示从数据源获取的数据。一、使用Connection对象使用ADO.NET访问数据库时,首先要创建与数据库的连接。Connection对象主要用于为Web页面与数据库之间建立连接。在实例化Connection对象时,需要向构造函数传递一个连接字符串。该连接字符串包含了连接到数据源所需要的位置和安全认证信息。二、使用Command对象在ASP.NET中,使用Command对象可以直接执行SQL语句。它主要用于执行SQL语句或存储过程,从而实现对数据库的查询、插入、修改或删除等操作。SqlCommand.ExecuteNonQuery()方法通常用于执行SQL语句中的Update、Delete和Insert命令,当然也可用于执行其他特殊命令,如CREATETABLE或DROPDATABASE命令等。通过该方法执行SQL命令将不会返回任何结果数据集。1.单一返回值使用SqlCommand.ExecuteScalar()方法,可以从数据库查询中获取单一返回值。示例代码8-11中的页面包含一个查询表单。输入动画名并单击“查询”按钮后,Label控件中就会显示出动画的出品时间。2.返回结果集使用SqlCommand.ExecuteReader()方法,可以返回多行结果数据。调用该方法将返回一个SqlDataReader对象,使用该对象可以从数据库中逐行读取数据集的记录。三、使用DataReader对象DataReader对象用于表示数据库查询的结果。它通过调用Command对象的ExecuteReader()方法来获取数据。通过检查HasRows属性或调用Read()方法,可以判断DataReader对象所表示的查询结果中是否包含数据行记录。案例8-1从单一查询中返回多个结果集本案例中创建一个Results组件,该组件显示了如何用SqlDataReader对象从单一查询中获取多个结果集。之后创建一个aspx页面,并在该页面中使用Results组件显示信息。任务三非连接模式数据访问非连接模式主要用到下面4个ADO.NET对象。DataAdapter:用于在物理存储模式的数据和内存之间进行数据传递。DataTable:用于在内存中表示数据库表。DataView:用于在内存中表示数据库视图。DataSet:用于在内存中表示数据库。一、使用DataAdapter对象DataAdapter对象相当于物理数据库表和内存数据库表之间的一个桥梁。一般用DataAdapter对象从物理数据库获取数据并载入DataTable对象中,要将DataTable对象中修改后的数据写回到物理数据库,也是使用DataAdapter对象。二、使用DataTable对象DataTable对象用于表示内存中的数据库表,使用SqlDataAdapter、SqlDataReader对象或其他编程方式,都可以向该对象中添加数据行。三、使用DataView对象使用DataView对象可以对DataTable对象中的数据进行排序和过滤。它用于表示内存中的数据库表视图。
DataView对象支持下面3个非常重要的属性。Sort:用于对DataView所表示的数据行进行排序。RowFilter:用于对DataView所表示的数据行进行过滤。RowStateFilter:用于对DataView所表示的数据行依照行状态进行排序(例如,CurrentRows和Unchanged)。四、使用DataSet对象DataSet对象可用于表示内存中的数据库。一个DataSet对象中可以包含一个或多个DataTable对象,并且可以定义DataTable对象间的父子关系。0102030405新建班级新建作业成绩统计布置作业学生扫码做小提示:生成的班级二维码,放在下一页ppt中即可。放入二维码后,记得取消“隐藏幻灯片”哦~扫码布置本课作业↑↑↑扫码布置作业WENJINGKETANG扫码填写问卷定制更实用的教学资源对课件有修改、优化建议平台使用遇到问题想免费使用平台、免费建课扫码加小旌好友为您提供专属服务哦项目九LINQtoSQL数据b
开发任务一LINQ基础任务二创建LINQtoSQL实体任务三LINQtoSQL查询语法综合实训LINQ查询结果作为数据源并实现分页任务一LINQ基础LINQ是LanguageIntegratedQuery的简称,是一种新型数据查询语言。它统一了查询语法,可以把任何数据源作为查询对象。可以说它是数据对象与程序语言之间的桥梁和纽带。一、C#新特性1.理解自动属性我们要介绍的第一个新特性叫做自动属性,只有C#支持该特性。自动属性提供了定义新属性的快速方法。2.初始化列表初始化列表可以减少实例化类的工作量。例如,示例代码9-2中的类“Information”。示例代码9-2初始化列表(Information.cs)publicclassInformation{ publicint编号{get;set;}publicstring名称{get;set;}publicint年龄{get;set;}}3.类型推断类型推断使C#看起来非常像JavaScript之类的动态语言。在使用类型推断时,允许C#编译器在编译时确定变量类型。在C#中使用类型推断的方法如下:varword="大家好!";C#引入了var关键字来支持类型推断。在需要编译器自行判断变量的数据类型时,可以使用var关键字声明变量。4.匿名类型在需要创建临时类型,又不想创建类时,可以使用匿名类型。下面的代码显示了在C#中如何创建匿名类型。varmember=new{姓="常",名="清"};上述代码中的member变量并没有指定类型(这与JavaScript或VBScript非常类似),但是它仍然具有它的类型,这就是匿名类型。5.泛型实际上泛型并不是.NET3.5的新特性。但是它对LINQtoSQL来说非常重要。要使用泛型,首先需要引入System.Collections.Generic命名空间。要使用泛型描述一个字符串列表,可以参照下面的代码进行声明。List<string>product=newList<string>();product.Add("切片面包");product.Add("花生米");product.Add("瓜子");6.Lambda表达式Lambda表达式是.NETFramework3.5引入的新特性,它提供一种非常简洁的定义方法的方式。
Lambda表达式使用=>操作符(“goesinto”)来分隔方法的参数列表和方法体。编译器通常能够推断出参数的数据类型。当然你也可以指定参数类型,如下:btn.Click+=(objectsender,EventArgse)=>lblResult.Text=DateTime.Now.ToString();另外,当方法只有一个参数时,圆括号是可选的。二、认识LINQLINQ是LanguageIntegratedQuery的简称,它由C#和VB.NET的一系列新特性组成,这些特性允许执行查询。LINQ使得SQL查询就像C#或VB.NET的语法一样简单。下面的代码是个简单的LINQ查询示例。varmessage=newList<string>{"pear","apple","grape"};varresults=fromwinmessagewherew.Contains("r")selectw;任务二创建LINQtoSQL实体使用LINQtoSQL,可以对数据库数据执行LINQ查询。目前,可以对SQLServer2000和SQLServer2005(包括SQLServerExpress版)使用LINQtoSQL。实体(entity)是描述数据库表(或视图)的C#或VB.NET类。可以使用一系列自定义特性将类和属性映射到表和列。一、手动创建实体类在开始使用LINQtoSQL执行查询之前,要先创建一个或多个表示要查询的数据的实体类。在创建好了实体后,接下来我们就可以使用LINQtoSQL来对数据库执行查询了。二、可视化创建实体类VS2008提供了LINQtoSQL类,使用该类可以快速创建一个强类型Datacontext和实体类。三、使用LinqDataSource控件使用LinqDataSource控件,可以表示LINQ查询。例如,示例代码9-7中的页面使用LinqDataSource控件实现了通过动画名搜索动画的简单搜索表单。任务三LINQtoSQL查询语法一、基本查询使用以下语句,可以在ID为GridView1的GridView控件中显示animation数据库表中的所有记录(假设有一个名为animation的实体,代表animation数据库表)。它实现了一个简单的、无需排序的select操作。
VisualObjectDataContextdb=newVisualObjectDataContext();GridView1.DataSource=db.animation;GridView1.DataBi
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年医疗设备使用操作标准规程优化研究
- 药剂调配操作规范指导
- 网店经营与管理汇报
- 感染科结核病隔离处理流程
- 继承优良传统弘扬中华精神
- 肾内科:慢性肾病饮食调理指南
- 骨质疏松症的预防与管理
- 糖尿病失明防治措施
- 慢性疾病管理计划
- 教务管理能力总结
- 电力行业安全管理与监督指南(标准版)
- 2026年芜湖市镜湖科创运营管理有限公司招聘工作人员5名笔试参考题库及答案解析
- 2026广东佛山大学辅导员招聘6人笔试备考试题及答案解析
- 护患沟通实践指南(2025年版)
- 2025年宁波职业技术学院单招职业技能测试题库带答案解析
- 江西九江市2026届高三上学期第一次高考模拟统一考试英语试题(试卷+解析)
- 企业领导任职声明及承诺书
- 福建省宁德市三校2025-2026学年上学期高三1月月考数学试卷(含答案)
- JTG 3410-2025公路沥青及混合料试验规程新旧变化解读
- 长期照护师技能考试试卷与答案
- 湖北省武汉第二中学2026届数学高三第一学期期末学业质量监测试题含解析
评论
0/150
提交评论