第1章 vs开发环境Word下载.docx
《第1章 vs开发环境Word下载.docx》由会员分享,可在线阅读,更多相关《第1章 vs开发环境Word下载.docx(27页珍藏版)》请在冰豆网上搜索。
![第1章 vs开发环境Word下载.docx](https://file1.bdocx.com/fileroot1/2023-2/3/af3a61e8-4bdc-4a30-8824-fe2c05b818bb/af3a61e8-4bdc-4a30-8824-fe2c05b818bb1.gif)
HTML页
.htm
可包含客户端代码的HTML页。
样式表
.css
用于进行RichHTML样式定义的级联样式表。
全局应用程序类
.asax
编写代码以处理全局ASP.NET应用程序级事件,该文件的名称必须是global.asax,不能改变此名称。
Web配置文件
.config
Web项目配置。
该文件名称为Web.config,无法更改该名称。
母版页
.master
Web应用程序的母版页。
外观文件
.skin
用来定义ASP.NET主题的文件。
Web用户控件
.ascx
使用可视化设计器创建的ASP.NET服务器控件。
1.1.2.2创建Web窗体
在网站文件中,创建最多的是Web窗体。
在项模板中选择“WEB窗体”后,定义网页名称,选择Web窗体对应代码文件的开发语言,并默认选择“将代码放在单独的文件中”,“将代码放在单独的文件中”意味着创建的是“代码隐藏页模型”的网页,这样的网页更安全、高效,在创建.aspx文件扩展名的web设计窗体文件外,系统同时创建一个同名带扩展名为.cs(使用C#语言)或.vb(使用VB语言)的后台代码文件。
默认名称为“default2.aspx”,单击“添加”后完成(图1-7)。
图1-7窗体文件创建设置窗口
在default2.aspx文件的“设计”视图中双击页面或右键鼠标,在弹出菜单中选择查看代码,可以转到相应的后台代码文件(图1-8)。
图1-8代码编辑窗口
在一个网站项目中,可以实现不同的开发语言共存,但这并不意味着在一个.cs类文件中可以混合使用各种的开发语言。
要在一个项目中实现不同的开发语言共存
(1)需要在App_Code文件夹中建立不同的子文件夹(如文件夹cs和文件夹vb),把不同语言的开发代码分别放在不同的子文件夹中.
(2)在配置文件中进行如下配置:
<
compilationdebug="
true"
>
codeSubDirectories>
adddirectoryName="
csCode"
<
/add>
vbCode"
/codeSubDirectories>
/compilation>
(3)在相应的文件夹中用不同的开发语言编写代码。
这样就可以在外面使用C#类或VB.Net类了。
打开新创建的页面default2.aspx的“源”视图,查看.aspx设计页面的文件结构,代码结构如下:
%@PageLanguage="
C#"
AutoEventWireup="
CodeFile="
default2.aspx.cs"
Inherits="
default2"
%>
!
DOCTYPEhtmlPUBLIC"
-//W3C//DTDXHTML1.0Transitional//EN"
"
http:
//www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"
htmlxmlns="
//www.w3.org/1999/xhtml"
>
headrunat="
server"
title>
无标题页<
/title>
/head>
body>
formid="
form1"
runat="
div>
/div>
/form>
/body>
/html>
其中第一行@Page指令代码的含义如下:
为ASP.NET页面(.aspx)页面指定解析和编译页面时调用,指明页面相关的代码隐藏文件名称、类名称及脚本块语言类型。
其中Language属性用于定义脚本块所使用的语言;
AutoEventWireup属性设置为True时,事件处理程序会自动绑定到事件;
CodeFile属性指定代码隐藏文件的路径;
inherits属性用于指定代码隐藏类的名称。
CodeFile和inherits属性联合使用使得代码隐藏文件与网页关联。
代码隐藏文件的基本代码结构如下。
usingSystem;
usingSystem.Data;
usingSystem.Configuration;
usingSystem.Collections;
usingSystem.Web;
usingSystem.Web.Security;
usingSystem.Web.UI;
usingSystem.Web.UI.WebControls;
usingSystem.Web.UI.WebControls.WebParts;
usingSystem.Web.UI.HtmlControls;
publicpartialclassdefault2:
System.Web.UI.Page
{
protectedvoidPage_Load(objectsender,EventArgse)
{
}
}
其中partial关键词声明了一个继承自System.Web.UI.Page的default2类,表示该代码文件包含构成该页的完整类的一部分代码。
1.1.2.3创建文件夹
通过VS2005开发环境创建的网站在默认情况下预先为程序员准备了一个空文件夹App_Data。
App_Data文件夹存放应用程序中使用的数据库文件。
这里说的数据库文件是一个广泛的含义,可以是Access或者是SQLServer关系数据库存储数据的文件,也可以是XML或其他数据存储文件。
默认情况下系统对客户端用户设置了对App_Data文件夹安全的读写权限,即无法通过浏览器直接键入文件的路径进行访问,保证了数据文件的安全。
除App_Data文件夹外,ASP.NET2.0还包含了其他一些特殊命名的文件夹,在这些文件夹下可以创建一些特殊文件。
通过解决方案资源管理器中添加ASP.NET文件夹的方式实现(图1-9)。
图1-9添加特殊文件夹
在这些特殊文件夹中最常用的就是Bin、App_Code和App_Themes。
Bin文件夹存放应用程序中引用的控件、组件或其他代码已编译程序集。
这个文件夹在网站引用第三方控件和编译时使用。
App_Code文件夹包含您希望作为应用程序一部分进行编译的类(例如.cs、.vb和.jsl文件)的源代码。
在动态编译的应用程序中,当对应用程序发出首次请求时,ASP.NET编译App_Code文件夹中的代码。
然后在检测到任何更改时重新编译该文件夹中的项。
若在添加项时,选择类模板,系统提示类文件应放在“App_Code”文件夹中。
默认情况下App_Code文件夹中的文件必须使用相同的开发语言编写,但若包含不同的开发语言,则可以在App_Code”文件夹中添加子文件夹,同一个子文件夹下包含的类文件开发语言必须相同。
子文件名称必须在web.Config配置文件进行说明,代码清单如下所示。
App_Themes存放页面和控件外观设置的主题和皮肤文件。
主题为站点上的每个页面提供统一的外观和操作方法,存放.skin文件和.css文件,详见本书第2章介绍。
若未创建这些特殊文件夹直接创建特殊文件(例如类、皮肤),vs开发环境将提示文件夹的创建(图1-10)。
图1-10文件夹创建提示对话框
若网站规划设计的窗体文件较多,我们也可以按照窗体文件的功能分类,分别放到自定义的文件夹下,自定义文件夹的建立可以在解决方案资源管理器中新建文件夹的方法实现(图1-11)。
图1-11新建文件夹
1.1.2.4页面事件代码及发生顺序
一个ASP.NET窗体页面在运行过程中将引发一些事件,事件被引发时会运行相应的事件处理代码。
页面事件代码格式如下:
protectedvoid事件名(参数)
事件体代码
事件名约定方法为“绑定对象_事件”,例如页面中包含Button1控件对象,对Button1单击时将触发Button1_Click事件,其事件代码如下:
protectedvoidButton1_Click(objectsender,EventArgse)
。
。
页面运行时则根据事件名与相关控件和事件自动绑定。
即使页面中不包含任何控件对象,页面本身仍具有默认的页事件,如Page_Load、Page_UnLoad等。
页事件和页面中包含的控件事件触发顺序如图1-8:
图1-12事件发生顺序图
其中Page_Load事件较常被调用,在该事件中读取和更新控件属性。
该事件在网页第一次加载时触发,在页面中包含控件服务器提交时有被触发。
例如我们在default2.aspx页面中添加一个ID为Button1按钮控件,通过以下代码验证事件的发生顺序:
protectedvoidPage_Load(objectsender,EventArgse)
Response.Write("
script>
alert('
Page_Unload'
);
/script>
"
protectedvoidButton1_Click(objectsender,EventArgse)
Button1_Click'
运行程序时,我们发现在页面第一次加载过程和再次提交过程中,Page_Load事件都被触发,并且在页面再次提交过程中Page_Load事件的发生早于Button1_Click事件。
1.2开发环境中常用的功能窗口
在创建一个网页时VS2005的集成开发环境界面如图1-13。
图1-13VS2005的集成开发环境界面
1.2.1设计窗口
设计窗口主要针对文件代码编辑,对于Web窗体文件还包含页面图形化设计的功能。
对于Web窗体文件.aspx在设计时可选择左下角Tab标签,按照设计方式显示或源(图1-14)方式显示。
设计的结果与源中的代码是完全一致的,采用设计或源方式设计各有其优势,在设计过程中可同时使用。
图1-14设计和源窗体切换
以设计方式显示可以用所见即所得的方式对窗体进行设计,起到的作用主要有:
(1)直接从布局菜单中选择表格或层对页面进行布局。
在布局过程中可通过设计窗口下的标签进行定位和范围选择。
(2)从工具箱中选择控件,在页面中添加控件对象,快速高效的完成页面设计。
(3)选择和定位控件对象,从而进一步对其属性进行编辑。
以源代码的方式可以通过直接编辑代码对页面中的细节进行编辑修改或在代码中增加脚本代码。
1.2.2重要浮动窗口
除设计窗口外,其他窗口都是浮动的,可以在任何位置显示和停靠,可以根据需要显示和隐藏。
(1)工具箱
工具箱的显示内容与当前编辑的项目文件对应,例如打开编辑窗体设计文件时显示ASP.NET所有常见工具控件,如图1-15所示。
图1-15默认常见工具箱
因为控件较多,按作用分类,可分为“标准”、“数据”、“验证”、“导航”、“登录”、“webParts”、“HTML”、“CrystalReports”和“常规”。
每一种分类都称为选项卡,工具箱中的控件成为选项。
单击“工具箱”鼠标右键,在显示的弹出菜单中(图1-16),我们可以为工具箱重新定义编辑选项卡和选项。
图1-16工具箱弹出菜单
“常规”选项卡默认情况下选项为空,我们展开“常规”选项卡,在右键的弹出菜单中“选择项”中添加不常见的控件或第三方控件。
(2)“属性”窗口
属性窗口主要划分为2部分,如图1-17所示。
图1-17属性窗口
其中上半部分是对象元素列表,下半部分是属性设置窗口,其中属性设置部分包含了控件的设计属性(图1-18)和事件属性(图1-18)。
图1-18设计属性图1-19事件属性
通过页面对象下拉列表可以直接定位到页面被选择控件对象,通过切换属性和事件,我们可以编辑控件对象的设计属性或者创建事件代码。
在编辑属性或事件时若不清楚属性或事件含义,可以直接在属性窗口下通过文字说明查看,或选择相关属性,直接按“F1”键打开联机帮助(图1-20)。
图1-20联机帮助
如果控件对象属性较复杂,如GridView包含的属性层次关系多,有些属性可以忽略,有些属性必须设置,则我们将重要属性提炼,将其作为控件对象的任务。
选择控件对象的右上角
显示任务列表(图1-21),选择其中的任务完成重要属性设置。
图1-21任务列表窗口
1.2.3其他重要浮动窗口
(1)“解决方案资源管理器”窗口(图1-22)
“解决方案资源管理器”窗口主要用于显示解决方案、解决方案的项目及项目中的项。
可以通过右键弹出窗口对项目文件中的项添加、打开、删除或重命名。
也可以直接选择网站项目进行编译和发布快捷操作。
图1-22解决方案资源管理器窗口
(2)“服务器资源管理器”窗口(图1-23)
“服务器资源管理器”是VisualStudio的服务器管理控制台。
使用此窗口可打开数据连接,登录服务器,浏览它们的数据库和系统服务。
图1-23服务器资源管理器窗口
(3)“错误列表”窗口
在网站编译生成过程中会产生许多编译信息,相关信息应该提示,不正常信息我们在“错误列表”窗口以列表的方式显示(图1-24)。
图1-24错误列表窗口
这些信息分别分为
“错误”、
“警告”和
“消息”,对于“错误”信息我们必须改正后网站才能正常运行。
我们只要双击某条错误信息项,光标直接定位到相应代码处。
1.3控件
控件是页面窗体设计过程中的基本元素,通过将控件从“工具箱”直接拖拉到页面指定位置,设置相关属性,编写事件代码,实现应用需求。
ASP.NET2.0工具箱中默认的控件有80多种,在本书中我们不会介绍和使用所有控件,只讲解常用控件,有些控件在深入学习ASP.NET2.0过程中才会使用,有些控件是为了衔接ASP开发技术设置的,如HTML分类控件,在新的ASP.NET技术开发过程中可以不使用。
1.3.1常用控件
在本书中我们会涉及的的控件主要有标准控件、数据访问控件、验证控件、导航控件和登录控件。
开发人员从“工具箱”窗口拖放控件到设计页面上,并利用属性窗口设置相关属性和事件。
大多数控件都拥有一些常见的属性和事件,如ID、Text属性以及Click事件等。
这些无论是什么控件,只要是VS2005开发环境提供的,其声明基本语法如下:
asp:
控件类型id="
控件名称"
属性1="
值1"
属性2="
值2"
…>
/asp:
控件类型>
也可以写成以下形式:
…/>
其中“asp:
控件类型”是Web服务器控件的开始标记,此标记要连写,不能包含空格。
声明语句可以在设计窗口通过查看“源”的方式了解。
例如:
声明Label控件的语法如下:
Labelid="
server“
text=“文本内容”>
Label>
属性的修改可以直接在源文件中响应,而事件则是通过设计页面对应的代码文件中的事件代码保持对应关系,不会在源文件的代码体现。
我们使用一个简单的例子来熟悉如何设置属性和添加时间的基本方法。
通过单击按钮控件,在指定的Label标签控件中显示当前服务器的时间,精确到秒。
运行效果图如图1-25所示。
图1-25运行效果图
步骤一:
创建一个ASP.NET网站,打开默认的Default.aspx页面,切换至“设计”视图,从工具箱的标准控件中拖动一个Button和Label到页面。
步骤二:
在设计页面鼠标单击定位Button控件对象(或通过属性窗口下拉列表框选择Button1对象),选择属性窗口,了解其默认初始属性值(图1-26),在属性窗口中设置Button的Text属性值为“刷新”。
在设计页面通过鼠标单击选择Label控件对象(或通过属性窗口下拉列表框选择Label对象),删除默认Text属性值,将Text属性设置为空。
图1-26控件属性设置
我们在属性窗口做的修改,其HTML标记也进行了同步修改,通过设计窗口中的源查看此时的HTML标记,代码清单如下所示。
Default2.aspx.cs"
Default2"
ButtonID="
Button1"
Text="
刷新"
/>
br/>
LabelID="
Label1"
Width="
397px"
步骤三:
双击Button控件,或选择Button控件,在属性窗口中选择事件标记,双击Click事件右侧的文本框(图1-23)。
此时集成开发环境将打开default.aspx.cs文件,其中已自动生成了Button按钮的Click事件处理程序框架。
图1-27属性中事件设置
步骤四:
在Click事件处理程序中,键入如下代码:
protectedvoidButton1_Click(objectsender,EventArgse)
Label1.Text=System.DateTime.Now.ToString();
我们用表格的方式简单介绍各类常用控件的用途,这些控件在本书的项目中将会被使用。
其中包括标准控件、验证控件、数据控件、登录控件和导航控件。
其中标准控件是界面的基本元素,主要包含以下控件,如表1-4所示。
表1-4标准控件
控件名称
AdRotator
显示图像序列(预定义或随机)。
Button
将Web窗体页提交给服务器进行处理。
Calendar
显示日历以允许用户选择日期。
CheckBox
显示用户可以选择或清除的单个框。
CheckBoxList
创建一组复选框。
该列表控件(ListControl)使得可以使用数据绑定轻松创建复选框。
DropDownList
允许用户或者从列表中选择或者输入文本。
FileUpload
创建含文本框和按钮的控件,它可以用来指定从本地计算机上载到服务器的文件,并且可以用服务器代码编程。
HiddenField
创建可以用服务器代码编程的HTML<
inputtype=hidden>
元素。
HyperLink
创建一个Web导航链接。
Image
显示图像。
ImageButton
与Button控件一样,但包含图像而不是文本。
ImageMap
显示图像,该图像将公开用户可单击的区域。
Label
显示用户无法直接编辑的文本。
LinkButton
与Button控件一样,但具有超链接的外观。
ListBox
显示选择列表。
列表可以允许多重选择(可选)。
Panel
在窗体上创建无边框间隔区域,用作其他控件的容器。
RadioButton
显示可以选择或清除的单个按钮。
RadioButtonList
创建一组单选按钮。
在组内,一次只能选择一