逍遥一派 发表于 2015-1-16 22:23:38

ASP.NET教程之ASP.NET用户控件申明和增加事务

据说很厉害,甚至可以把C#也干掉^_^,不过也很复杂,本来C++已经够复杂的。有人甚至还提出把这个东东引进标准,我觉得基本上不可能的。在WEB开辟中常常有一些代码是在良多中央反复呈现的,象导航栏、用户登录/注册和首页下面的一些流动栏目等。这些可重用的代码我们能够把它写成一个通用模块供必要的中央来援用,如许做即节俭了开辟工夫还便利今后的保护。在ASP.NET的web编程中供应了一种叫做“用户控件”能够匡助我们完成这类做法,其文件扩大名是“.ascx”,因为ascx文件是用来拔出ASPX页面中利用的,而一个ASPX窗体只能包括一个<form>标记,以是ascx用户控件不克不及包括<form></form>标记。

1、上面利用一个典范进门典范来创立一个复杂的用户控件:
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的语句。

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

2、以下的演示代码给控件增加属性
上面我们举一个用户登录的文件,把它写成用户控件,在向个中增加UserName和PassWord这两个属性。
向用户控件增加属性很复杂,只需在ascx文件中的<script></script>块中界说就好了。至此,我们已给UserLogin.ascx文件增加了UserName和PassWord这两个属性了,以下DEMO演示怎样在ASPX页面上援用这两个属性。
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.aspx
<%@RegisterTagPrefix=”wen”TagName=”UserLogin”src=”UserLogin.ascx”%>
<html>
<title>援用属性</title>
<body>
<formrunat=”server”>
<wen:UserLoginID=”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>


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

3、以下的演示代码给控件增加事务
在下面我们界说了一个用户登录的用户控件UserLogin.ascx文件,内里包括了一个LinkButton服务器按钮控件,当用户单击该按钮时服务器端会主动天生一个回发来引发Page.Load事务。除服务器主动发生回发来引发Page.Load事务外,我们能够给LinkButton增加一个它本人的事务,增加事务实在也很复杂,经由过程在<script></script>块中声明事务,然后把该事务增加到用户控件中。
我们如今经由过程以下的例子来讲明怎样在UserLogin.ascx用户控件中增加事务。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=”上岸”OnClick=”MyOnClick”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;}
}
publiceventEventhandlerLogin;//增加事务句柄
voidMyOnClick(ObjectSender,EventArgse){
if(Login!=null)
Login(this,newEventArgs());//激活Login事务
}
</script>
在ASPX页面中利用自界说事务:
<%@RegisterTagPrefix=”wen”TagName=”UserEvent”src=”UserLogin.ascx”%>
<html>
<body>
<formrunat=server>
<wen:UserEventID=”MyLogin”OnLogin=”OnLoginPress”runat=”server”>
</form>
<asp:LabelID=”Lab1”runat=”server”/><br>
<asp:LabelID=”Lab2”runat=”server”/><br>
</body>
</html>
<scriptLanguage=”C#”runat=”server”>
voidOnLoginPress(ObjectRender,EventArgse){
Lab1.Text=MyLogin.UserName;
Lab2.Text=MyLogin.PassWord;
}
</script>
申明:这里的OnLogin事务是我们给用户控件UserLogin.ascx文件增加的事务。
我之所以想学。NET,是因为一直觉的BILLGATES好厉害,希望有一天能去微软,虽然现在还距离遥远,呵呵:)

山那边是海 发表于 2015-1-19 10:28:47

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

再见西城 发表于 2015-1-24 15:01:23

关于ASP.NET功能上,ASP.NET比微软以前的ASP(96年出现)有更强大的library,更好的稳定性。ASP.NET可以使用.NETFramework中所有组件(也就是说.NET能实现的,ASP.NET一样能实现)。

乐观 发表于 2015-2-1 17:29:33

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

老尸 发表于 2015-2-7 12:44:35

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

冷月葬花魂 发表于 2015-2-21 22:18:06

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

活着的死人 发表于 2015-3-6 22:01:32

目前在微软的.net战略中新推出的ASP.net借鉴了Java技术的优点,使用CSharp(C#)语言作为ASP.net的推荐语言,同时改进了以前ASP的安全性差等缺点。但是,使用ASP/ASP.net仍有一定的局限性,因为从某种角度来说它们只能在微软的WindowsNT/2000/XP+IIS的服务器平台上良好运行(虽然像ChilliSoft提供了在UNIX/Linux上运行ASP的解决方案.

谁可相欹 发表于 2015-3-13 22:07:30

众所周知,Windows以易用而出名,也因此占据不少的服务器市场。

小魔女 发表于 2015-3-20 20:21:40

能产生和执行动态、交互式、高效率的站占服务器的应用程序。运用ASP可将VBscript、javascript等脚本语言嵌入到HTML中,便可快速完成网站的应用程序,无需编译,可在服务器端直接执行。容易编写。
页: [1]
查看完整版本: ASP.NET教程之ASP.NET用户控件申明和增加事务