|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
我实在想不明白java的机制,为什么非要那么蛋疼,在同一个平台下重复编译。asp.net|web 一个ASP.NET页面由两部分构成:一是利用静态文本和服务器控件的用户界面界说,二是用户界面举动和服务器端代码情势的Web使用程序逻辑的完成。 ASP.NET供应了全新的代码模子,使得网页开辟者和开辟工具可以更明晰、更简单地把代码与暗示分隔。对照ASP来讲,这个特性是一个主要的改善,ASP必要代码遍及在全部页面的静态内容当中。ASP.NET代码模子使得开辟和计划团队中的合作加倍简单,并增添了代码和内容的可读性和可保护性。
这个全新的代码模子一般利用两种情势之一。第一种情势仅仅是在.aspx页面文件内的<scriptrunat=”server”></script>剧本代码块中嵌进代码,这类情势被称为行内代码(inlinecode),ASP.NETWebMatrix、DreamweaverMX等软件接纳的就是这类代码编写模子。第二种情势包括完成从Page中派生的类,在自力的文件中保留代码而且经由过程Page指令把它与.aspx文件接洽起来。这类情势一样平常称为代码分别(code-behind),偶然同样成为代码埋没手艺,VisualStudio.NET接纳是这类模子。不管接纳那种编程模子,功能是一样的,只是分歧的编程工具,又分歧的编写办法和利用习气,主要的一点就是在利用ASP.NET的类之前,必需引进类地点的定名空间。
同时Web窗体的前往处置历程是基于事务驱动型的,提交页面为本身,因而在每一个Web窗体的控件结构代码必需放在<body><formrunat=server></from></body>HTML代码块中的。
鄙人面两节中,我们经由过程实例来演示行内代码模子和在VisualStudio.NET2003完成的分别模子编。
4.2.1使用行内代码模子编写Web使用程序
行内代码编程模子更近似与ASP的晋级,HTML代码和使用程序的逻辑代码一同保留在.aspx页面文件中,在第一次被会见时编译成Page基类,今后每次会见都是间接有该Page类天生Web页面。在第一章的第5节中,我们援用了一个显现“Hello,ASP.NET!”的实例,就是接纳的行内代码编程模子编写的。上面时NewFile.aspx的全体代码:
<%@PageLanguage="VB"%>
<!--逻辑代码部分隔始->
<scriptrunat="server">
Insertpagecodehere
subpage_load(senderasobject,easeventargs)
Response.Write("Hello,ASP.NET!")
EndSub
</script>
<!--逻辑代码部分停止->
<html>
<head>
</head>
<body>
<FORMrunat="server">
<!--Insertcontenthere-->
</FORM>
</BODY>
</HTML>
经由过程扫瞄器扫瞄效果如.3所示:
行内代码的优点较之与VisualStudio.NET来讲,代码对照简便,同时,一个Web使用程序中的每一个ASP.NET页面能够接纳分歧的言语编写,好比NewFile.aspx能够接纳VB.NET,NewFile2.aspx能够接纳C#,NewFile3.aspx能够接纳J#。可是,每个ASP.NET页面必需只利用一种言语。
4.2.2使用代码埋没手艺编写Web使用程序
VisualStudio.NET就是典范的使用代码埋没手艺编写Web使用程序的工具软件,VS.NET为Web使用程序中的每一个Web窗体供应了三个分歧的窗口:
(1)计划窗口:接纳所见即所得的体例,能够用鼠标间接干涉控件或是其他可视效果的地位。窗口的切换按钮图标是;
(2)HTML代码窗口:能够检察Web窗体的HTML代码,而且能够修正、编写。编写HTML代码的时分,VisualStudio.NET体系供应智能提醒的功效。窗口切换按钮图标;
(3)逻辑代码窗口:便是代码埋没手艺中逻辑代码窗口,每一个Web窗体都有一个对应的逻辑代码文件,有VS.NET主动把Web窗体的逻辑代码源援用到.aspx页面文件中。每一个逻辑代码文件的称号是在对应的ASP.NET页面文件称号后再加后缀名.vb(C#言语编写的源文件加后缀名.cs)。如,WebForm1.aspx的逻辑代码文件为WebForm1.aspx.vb。假如要进进Web窗体的逻辑代码,只必要在计划窗口中双击Web窗体界面就进进了逻辑代码窗口。
我们用VS.NET2003翻开在第三章中建好的Web项目DDMyFirst使用程序,翻开后,体系默许进进了WebForm1.aspx的计划窗口,如.4所示。
单击按钮图标,就进进了WebForm1.aspx的HTML代码窗口,如.5所示。
上面是WebForm1.aspx的一切HTML代码:
<%@PageLanguage="vb"AutoEventWireup="false"Codebehind="WebForm1.aspx.vb"Inherits="MyFirst.WebForm1"%>
<!DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.0Transitional//EN">
<HTML>
<HEAD>
<title>WebForm1</title>
<metaname="GENERATOR"content="MicrosoftVisualStudio.NET7.1">
<metaname="CODE_LANGUAGE"content="VisualBasic.NET7.1">
<metaname="vs_defaultClientScript"content="JavaScript">
<metaname="vs_targetSchema"content="http://schemas.microsoft.com/intellisense/ie5">
</HEAD>
<bodyMS_POSITIONING="GridLayout">
<formid="Form1"method="post"runat="server">
<FONTface="宋体"></FONT>
</form>
</body>
</HTML>
在<%@PageLanguage="vb"AutoEventWireup="false"Codebehind="WebForm1.aspx.vb"Inherits="MyFirst.WebForm1"%>中,声了然Page类利用的编程言语,Codebehind="WebForm1.aspx.vb"指明该页面的逻辑代码保留在WebForm1.aspx.vb文件中。
<P> 在WebForm1.aspx的计划窗口中,我们对窗体界面双击,就进进了WebForm1.aspx的逻辑代码窗口,即:WebForm1.aspx.vb。WebForm1.aspx.vb是体系主动天生的,在它的代码中包含对WebForm1.aspx中援用控件的声明和窗体计划器主动天生的代码。在WebForm1.aspx.vb窗口中编写代码时,体系供应了智能添补的功效,比方假如你不晓得利用类的详细名字而只晓得类地点的定名空间,你只需敲出定名空间和“.”,智能添补就会给出该定名空间中一切类称号,这关于初学者很有匡助,对进步别称效力也很有匡助。WebForm1.aspx.vb的窗口如.6所示。
在WebForm1.aspx.vb中,包括了Web窗体编译时必需的一些函数。上面是WebForm1.aspx.vb文件的全体代码:
PublicClassWebForm1
InheritsSystem.Web.UI.Page
#Region"Web窗体计划器天生的代码"
该挪用是Web窗体计划器所必须的。
<System.Diagnostics.DebuggerStepThrough()>PrivateSubInitializeComponent()
EndSub
注重:以下占位符声明是Web窗体计划器所必须的。
不要删除或挪动它。
PrivatedesignerPlaceholderDeclarationAsSystem.Object
PrivateSubPage_Init(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesMyBase.Init
CODEGEN:此办法挪用是Web窗体计划器所必须的
不要利用代码编纂器修正它。
InitializeComponent()
EndSub
#EndRegion
PrivateSubPage_Load(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesMyBase.Load
在此处安排初始化页的用户代码
EndSub
EndClass
下面代码中的正文部分也是体系主动增加的,而且体系也主动天生了WebForm1.aspx窗体的Page_Load事务历程。
我们在这个事务过程当中增加代码:
PrivateSubPage_Load(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesMyBase.Load
在此处安排初始化页的用户代码
上面是要显现的内容
Response.Write("ILoveChina!ILoveTheGreatWall!")
EndSub
然后按F5,VisualStudio.NET会主动编译全部MyFirst使用程序,然后挪用IE了扫瞄器翻开WebForm1.aspx(本实例中WebForm1.aspx为默许启动窗体),也能够在WebForm1.aspx的计划窗体中右击鼠标,在弹出菜单当选择【在扫瞄器中检察】,就能够间接在VisualStudio.NET的集成情况中检察WebForm1.aspx编译后的运转效果,如.7所示,这个办法合适预览非默许启动窗体。固然,能够编译全部Web使用程序,然后在IE扫瞄器中间接输出地点也能够预览运转效果。
不管接纳那一种体例预览Web窗体,都是必需经由编译的。VisualStudio.NET会把编译后天生的Page基类寄存于使用程序根目次下的bin文件夹中,今后每次会见间接挪用该基类。本实例中天生的类为MyFirst.dll。我们编译后经由过程扫瞄器检察WebForm1.aspx,了局如.8所示。
.8WebForm1.aspx的运转了局
接纳代码埋没手艺编写的Web使用程序逻辑上对照开阔爽朗,一方面削减了.aspx页面的文件长度,另外一方面,Web使用程序正式公布到服务器后,逻辑代码文件经由编译天生基类文件(DLL文件)后,就能够删撤除,从而做到对源代码的回护。
c++是语言,其实C++和java的应用范围根本就不一样的。在java应用的领域内,c++是不合适的。所以微软才搞了C#和Java对抗。 |
|