仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 730|回复: 7
打印 上一主题 下一主题

[学习教程] ASP.NET教程之ASP.NET:懂得WEB窗体的代码模子

[复制链接]
金色的骷髅 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:33:44 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

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所示:


.3NewFile.aspx运转了局

  行内代码的优点较之与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所示。


.4WebForm1.aspx的计划窗口

  单击按钮图标,就进进了WebForm1.aspx的HTML代码窗口,如.5所示。


.5WebForm1.aspx的HTML代码窗口

  上面是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所示。


.6WebForm1.aspx的逻辑代码窗口

  在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扫瞄器中间接输出地点也能够预览运转效果。


.7非默许启动窗体的预览体例

  不管接纳那一种体例预览Web窗体,都是必需经由编译的。VisualStudio.NET会把编译后天生的Page基类寄存于使用程序根目次下的bin文件夹中,今后每次会见间接挪用该基类。本实例中天生的类为MyFirst.dll。我们编译后经由过程扫瞄器检察WebForm1.aspx,了局如.8所示。


.8WebForm1.aspx的运转了局

  接纳代码埋没手艺编写的Web使用程序逻辑上对照开阔爽朗,一方面削减了.aspx页面的文件长度,另外一方面,Web使用程序正式公布到服务器后,逻辑代码文件经由编译天生基类文件(DLL文件)后,就能够删撤除,从而做到对源代码的回护。
c++是语言,其实C++和java的应用范围根本就不一样的。在java应用的领域内,c++是不合适的。所以微软才搞了C#和Java对抗。
第二个灵魂 该用户已被删除
沙发
发表于 2015-1-21 15:30:14 | 只看该作者
逐步缩小出错代码段的范围,最终确定错误代码的位置。
灵魂腐蚀 该用户已被删除
板凳
发表于 2015-1-30 20:27:45 | 只看该作者
在asp.net虚拟主机的服务提供商中,目前首推的是CNNIC的其中一家域名注册机构---时代互联(www.now.net.cn),他们早在2001年微软刚推出Asp.net时就推出了对应的Asp.net虚拟主机了,经笔者的使用测试,他提供的Asp.net性能非常的稳定,版本也会定期的更新,目前他的
分手快乐 该用户已被删除
地板
发表于 2015-2-6 15:51:58 | 只看该作者
由于JSP/Servlet都是基于Java的,所以它们也有Java语言的最大优点——平台无关性,也就是所谓的“一次编写,随处运行(WORA–WriteOnce,RunAnywhere)”。除了这个优点,JSP/Servlet的效率以及安全性也是相当惊人的。
飘飘悠悠 该用户已被删除
5#
发表于 2015-2-16 23:17:39 | 只看该作者
主流网站开发语言之CGI:CGI就是公共网关接口(CommonGatewayInterface)的缩写。它是最早被用来建立动态网站的后台技术。这种技术可以使用各种语言来编写后台程序,例如C,C++,Java,Pascal等。
兰色精灵 该用户已被删除
6#
发表于 2015-3-5 11:54:28 | 只看该作者
我觉得什么语言,精通就好,你要做的就是比其他80%的人都厉害,你就能得到只有20%的人才能得到的高薪。
莫相离 该用户已被删除
7#
发表于 2015-3-12 06:03:14 | 只看该作者
主流网站开发语言之CGI:CGI就是公共网关接口(CommonGatewayInterface)的缩写。它是最早被用来建立动态网站的后台技术。这种技术可以使用各种语言来编写后台程序,例如C,C++,Java,Pascal等。
愤怒的大鸟 该用户已被删除
8#
发表于 2015-3-19 18:30:34 | 只看该作者
提供基于组件、事件驱动的可编程网络表单,大大简化了编程。还可以用ASP.NET建立网络服务。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-6-26 17:17

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表