谁可相欹 发表于 2015-1-16 22:31:37

ASP.NET教程之[ASP.NET开辟系列]在用户控件中增加属性...

实不相瞒,Java是我见过的执行效率最低的程序设计语言,前不久在CSDN论坛上有个评测,计算9999的阶乘,同样的循环算法,Java的耗时是.NET的5倍。asp.net|控件在WEB开辟中常常有一些代码是在良多中央反复呈现的,象导航栏、用户登录/注册和首页下面的一些流动栏目等。这些可重用的代码我们能够把它写成一个通用模块供必要的中央来援用,如许做即节俭了开辟工夫还便利今后的保护。
在ASP.NET的web编程中供应了一种叫做“用户控件”能够匡助我们完成这类做法,其文件扩大名是“.ascx”,因为ascx文件是用来拔出ASPX页面中利用的,而一个ASPX窗体只能包括一个<form>标记,以是ascx用户控件不克不及包括<form></form>标记。
上面利用一个典范进门典范来创立一个复杂的用户控件,文件名为Hello.ascx:
<html>
<body>
<h1>典范进门典范</h1>
<hr>
<h3>HelloWord</h3>
</body>
</html>
把这段代码保留为Hello.ascx文件,然后在ASPX页面上挪用,详细挪用以下:
Hello.aspx
<%@RegisterTagPrefix=”wen”TagName=”Hello”src=”Hello.ascx”%>
<html>
<body>
<formid=frmrunat=server>
<wen:HelloID=MyHellorunat=server>
</form>
</body>
</html>
在IE扫瞄器的地点里输出http://localhost/Hello.aspx运转,将在页面上打印出字符串“Helloword”。
代码申明:1)指令@Register界说了用户控件文件的标署名“Hello”和标签前缀名”wen”;
2)src属性是毗连到用户控件的相干的文件名;
3)<wen:HelloID=MyHellorunat=server>这一句是在ASPX窗体中挪用用户控件Hello.ascx的语句。
以上的演示代码没有给控件增加属性,上面我们举一个用户登录的文件,把它写成用户控件,在向个中增加UserName和PassWord这两个属性。向用户控件增加属性很复杂,只需在ascx文件中的<script></script>块中界说就好了。
UserLogin.ascx
<html>
<title>用户登录</title>
<body>
<table>
<tr>
<td>用户名:</td>
<td><asp:TextBoxID=”txt1”runat=”server”></td>
</tr>
<tr>
<td>密码:</td>
<td><asp:TextBoxID=”txt2”TextMode=”password”runat=”server”></td>
</tr>
<hr>
<tr>
<td></td>
<td><asp:LinkButtonText=”上岸”runat=”server”></td>
</tr>
</table>
</body>
</html>
<scriptlanguage=”C#”runat=”server”>
publicstringUserName{
get{returntxt1.Text;}
set{txt1.Text=value;}
}
publicstringPassWord{
get{returntxt2.Text;}
set{txt2.Text=value;}
}
</script>
至此,我们已给UserLogin.ascx文件增加了UserName和PassWord这两个属性了,以下DEMO演示怎样在ASPX页面上援用这两个属性。
UserLogin.aspx
<%@RegisterTagPrefix=”wen”TagName=”UserLoginContorl”src=”UserLogin.ascx”%>
<html>
<title>援用属性</title>
<body>
<formrunat=”server”>
<wen:UserLogin.ascxID=”MyLogin”runat=”server”>
</form>
用户名:<asp:LabelID=”Lab1”runat=”server”><br>
密码:<asp:LabelID=”Lab2”runat=”server”><br>
</body>
</html>
<scriptlanguage=”C#”runat=”server”>
voidPage_Load(Objectsender,EventArgse){
if(IsPostBack){
Lab1.Text=MyLogin.UserName;
Lab2.Text=MyLogin.PassWord;
}
}
</script>
我实在想不明白java的机制,为什么非要那么蛋疼,在同一个平台下重复编译。

再现理想 发表于 2015-1-19 16:09:38

ASP.net的速度是ASP不能比拟的。ASP.net是编译语言,所以,当第一次加载的时候,它会把所有的程序进行编译(其中包括worker进程,还有对语法进行编译,形成一个程序集),当程序编译后,执行速度几乎为0。

蒙在股里 发表于 2015-1-28 07:58:45

HTML:当然这是网页最基本的语言,每一个服务器语言都需要它的支持,要学习,这个肯定是开始,不说了.

透明 发表于 2015-2-5 19:59:55

最强的技术支持WebService,而且有.NET的所有library做后盾。而且ASP.NET在.NET3.5中还有微软专门为AJAX开发的功能--ASP.NETAJAX。

金色的骷髅 发表于 2015-2-13 10:13:31

同时也感谢博客园给我们这个平台,也感谢博客园的编辑们做成专题引来这么多高人指点。

海妖 发表于 2015-3-3 20:21:49

这也就是最近几年来随着各种新的后台技术的诞生,CGI应用在Internet上越来越少的原因。CGI方式不适合大访问量的应用。

若相依 发表于 2015-3-11 13:27:26

ASP是把代码交给VBScript解释器或Jscript解释器来解释,当然速度没有编译过的程序快了。

精灵巫婆 发表于 2015-3-18 18:42:21

有一丝可惜的是,这个系列太强了,Java阵营的朋友根本就是哑口无言...争论之火瞬间被浇灭,这不是我想这么早就看到的,但是值了。

飘灵儿 发表于 2015-3-26 11:38:43

由于JSP/Servlet都是基于Java的,所以它们也有Java语言的最大优点——平台无关性,也就是所谓的“一次编写,随处运行(WORA–WriteOnce,RunAnywhere)”。除了这个优点,JSP/Servlet的效率以及安全性也是相当惊人的。
页: [1]
查看完整版本: ASP.NET教程之[ASP.NET开辟系列]在用户控件中增加属性...