乐观 发表于 2015-1-16 22:30:48

ASP.NET网站制作之ASP.NET当即上手教程(7)

既然话题已经抄起,我打算今晚发篇博文再引导一下舆论方向,使它再火两天,抛砖引玉,而且赵劼先生一直在跟帖,使.NET阵营的我感到万分难得。WebForms用户控件
用户控件先容
除ASP.NET供应的内建的服务器控件外,你还可使用已把握的制造WEBFORMS页面的手艺,轻松的界说本人的控件。实践上,只必要略微修改一下,几近任何WEBFORMS页面都能够作为服务器控件,在其他页面上反复利用。(注重用户控件的范例是System.Web.UI.UserControl,它间接从System.Web.UI.Control承继而来)。WebForms页面被作为服务器控件利用的时分,简称为用户控件。变化以后,一般利用.ascx扩大名来标明用户控件。这就包管了用户控件文件不克不及作为一个独自的webform页面来实行(你能够分明,在用户控件和webforms页面之间,有一点,可是很主要的区分)。用户控件利用Register(注册)指令包括在WebForms页面中:
<%@RegisterTagPrefix="Acme"TagName="Message"Src="pagelet1.ascx"%>
TagPrefix为用户控件断定了独一的称号空间。(如许,具有不异名字的多个用户控件能够相互辨别).TagName的值是用户控件的独一称号(你可使用任何名字)。Src属性是用户控件的假造路径—比方"MyPagelet.ascx"大概"/MyApp/Include/MyPagelet.ascx"。注册用户控件以后,你能够在webforms页面中安排用户控件标签,就像是用寻常的服务器控件一样(包括runat="server"属性):
<Acme:Messagerunat="server"/>
上面的例子展现了webforms页面引进用户控件的情形。本例中的用户控件仅仅是一个复杂的静态文件。
扩大用户控件的属性
当webforms页面作为用户控件处置的时分,webforms页面的大众字段和办法晋级为大众属性(即标签属性)和大众办法(标签的办法)。上面的例子将上一个例子中的用户控件举行延长,增添了两个大众String字段。注重这两个字段既能够在包括页中间接声明,也能够用程序来把持。
除将大众字段晋级为控件属性外,也能够利用属性语法。利用属性语法赛过为了设定大概获得属性值而实行代码。上面的例子树模了一个Address用户控件,他绑定了TextBox控件的text属性。如许做的优点在于该控件“收费”承继了TextBox控件的主动形态办理。注重在包括webforms页面中有两个Address用户控件,分离为"BillingAddress"和"ShippingAddress"设置Caption属性。用户控件的真正壮大的地方就是这类反复使用。
用户控件的另外一个有效的地方是Login控件,用来搜集用户名和暗码。
在这个例子中,服务器考证控件增加到了Login用户控件中
在用户控件中封装事务
好像一般的服务器控件一样,用户控件介入全部哀求实行的性命周期。这就意味着,用户控件可以操纵本人的事务,从包括webforms页中封装某些页面逻辑。
上面的例子演示了一个产物列表用户控件,它在外部处置了本人的提交前往。注重用户控件本身没有绑定<formrunat="server">控件。由于只要一个表单控件呈现在页面上(asp.net不同意嵌套服务器表单),因而留给包括webforms页面往界说他。
用程序创立用户控件
好像一般服务器控件能够用程序创立一样,用户控件也一样。页面的LoadControl办法用来载进用户控件,同时将假造路径传送给用户控件的源文件地点。
Controlc1=LoadControl("pagelet7.ascx");
((Pagelet7CS)c1).Category="business";
Page.Controls.Add(c1);
用户控件的范例是由Control命令的ClassName属性所决意。比方上面的例子,一个文件名保留为"pagelet7.ascx"的用户控件被赋值为"Pagelet7CS"强范例:
<%@ControlClassName="Pagelet7CS"%>
由于LoadControl办法前往的范例是System.Web.UI.Control,以是为了设置用户控件的一般属性,它必需抛出得当的强范例。终极,用户控件到场到基础页面的ControlCollection汇合中。
主要提醒关于包括用户控件的webforms页面,只要当Register命令包括了用户控件(即便没有效户控件标签被实践声明),用户控件的强范例才是可使用的。
本章小结
1、用户控件同意开辟者利用创立webforms页面所利用的程序计划手艺,轻松的创立自界说控件。
2、作为与一般页面的区分,利用.ascx文件扩大名来标明用户控件。这就包管了用户控件不克不及像尺度webforms页面那样实行。
3、利用Register命令,将用户控件包括在webforms页面中。Register命令指定了TagPrefix,TagName,和Srclocation。
4、注册了用户控件以后,就能够像看待一般服务器控件那样,利用用户控件(包括runat="server"属性)。
5、用户控件被包括在webforms页面中今后,他的大众字段、属性和办法晋级为控件的大众属性(标签属性)和办法。
6、用户控件介入每一个客户端哀求的全部性命周期,而且处置本身的事务,封装了部分包括他的webforms页面的页面逻辑。
7、用户控件不克不及包括任何form控件。假如必要的话,能够在包括他的webform页面中利用form控件。
8、用户控件能够用System.Web.UI.Page类的LoadControl办法用用程序来创立。用户控件的范例由Control命令的ClassName属性所决意。
9、关于包括用户控件的webforms页面,只要当Register命令包括了用户控件(即便没有效户控件标签被实践声明),用户控件的强范例才是可使用的。

因为各系统的API不同,代码调用API编写程序就会遇到很多不兼容的地方,比如Java改写后的Serv-U就不能在手机上执行,手机的游戏也不能直接在微机上执行。

精灵巫婆 发表于 2015-1-19 15:56:48

是目前ASP在UNIX/Linux上的应用可以说几乎为0)。所以平台的局限性和ASP自身的安全性限制了ASP的广泛应用。

灵魂腐蚀 发表于 2015-1-26 23:54:17

在一个项目中谁敢保证每天几千万甚至几亿条的数据不丢失?谁敢保证应用的高可靠性?有可以借签的项目吗?

柔情似水 发表于 2015-2-5 00:53:38

能产生和执行动态、交互式、高效率的站占服务器的应用程序。运用ASP可将VBscript、javascript等脚本语言嵌入到HTML中,便可快速完成网站的应用程序,无需编译,可在服务器端直接执行。容易编写。

深爱那片海 发表于 2015-2-11 00:18:54

是目前ASP在UNIX/Linux上的应用可以说几乎为0)。所以平台的局限性和ASP自身的安全性限制了ASP的广泛应用。

海妖 发表于 2015-3-1 19:07:11

Servlet却在响应第一个请求的时候被载入,一旦Servlet被载入,便处于已执行状态。对于以后其他用户的请求,它并不打开进程,而是打开一个线程(Thread),将结果发送给客户。由于线程与线程之间可以通过生成自己的父线程(ParentThread)来实现资源共享,这样就减轻了服务器的负担,所以,JavaServlet可以用来做大规模的应用服务。

谁可相欹 发表于 2015-3-10 22:15:10

虽然在形式上JSP和ASP或PHP看上去很相似——都可以被内嵌在HTML代码中。但是,它的执行方式和ASP或PHP完全不同。在JSP被执行的时候,JSP文件被JSP解释器(JSPParser)转换成Servlet代码,然后Servlet代码被Java编译器编译成.class字节文件,这样就由生成的Servlet来对客户端应答。所以,JSP可以看做是Servlet的脚本语言(ScriptLanguage)版。

活着的死人 发表于 2015-3-17 11:11:03

ASP在执行的时候,是由IIS调用程序引擎,解释执行嵌在HTML中的ASP代码,最终将结果和原来的HTML一同送往客户端。

飘飘悠悠 发表于 2015-3-24 08:56:38

比如封装性、继承性、多态性等等,这就解决了刚才谈到的ASP的那些弱点。封装性使得代码逻辑清晰,易于管理,并且应用到ASP.Net上就可以使业务逻辑和Html页面分离,这样无论页面原型如何改变。
页: [1]
查看完整版本: ASP.NET网站制作之ASP.NET当即上手教程(7)