首 页       用户登录  |  用户注册
设为首页
加入收藏
联系我们
按字母检索 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
按声母检索 A B C D E F G H J K L M N O P Q R S T W X Y Z 数字 符号
您的位置: 5VAR论文频道论文中心理工论文信息技术
   ASP.Net中程序构架与程序代码的分离      ★★★ 【字体: 】  
ASP.Net中程序构架与程序代码的分离
收集整理:佚名    来源:本站整理  时间:2009-01-10 15:20:40   点击数:[]    

Example1.aspx中相信大家很快就可以区分页面构架的各个部分,大家想想这些构架如果在其它技术是否能看得如此清楚?

(这里的程序只做演示用,呵呵,大家可不要抓我什么引号漏洞这些小辫子哟)



2 用户控件(UserControl)

CodeBehind技术真正实现了代码与构架的分离,比以前的技术前进了一大步,但是它的缺陷也是显而易见的,比如主页面中部那个登陆区,如果内容很多,HTML显示代码的依然会占用很大的区域,程序的可读性依然会降低。



ASP.Net也提供了解决办法,这就是用户控件。





用户控件我们可以将其视为不用编译的Server控件。即然是控件,那么就肯定会遵从控件的使用方法。我们将Example1.aspx中的每个Panel整体看成为一个控件,因此Example1.aspx的主体部分通过使用用户控件便可以减少为只有三行:



































执行这个程序,其运行结果与使用CodeBehind技术的结果是一样的,但是现在的ASP.Net程序更加容易区分页面构架了。











这三行代码,使用了三个用户控件,这么少的代码大家一眼就可以清楚的看到页面被分为三个部分。



要使用用户控件就必须使用Register指令,TagPrefix属性定义是的一个Namespace的名字,以保证它在这个页面的唯一性;TagName属性是在定义一个类(class)的别名,由于用户控件执行时是被CLR编译成为类来执行的,所以就必须给本程序中每个用户控件一个唯一的名字,以便于大家区分;Src属性则是具体指出了使用的用户控件的文件名(用户控件均以.ascx结尾)。



用户控件的使用与普通Server控件一样:



namespace表示定义的命名空间,class则是相应的类名,具体的使用例子有:





下面是用户控件显示程序中所使用的用户控件的具体内容:



Header.ascx(Header用户控件)





private void AdCreated(Object src,AdCreatedEventArgs e)

{

lblAdText.Text = e.AlternateText;

}





当前广告链接:



Logon.ascx(Logon用户控件)









protected string strConnString = server=(local)\\Feidao;database=aspcom;Trusted_Connection=yes;

//定义UserControl的属性

public string UserName

{

get

{

return tbUserName.Text;

}

set

{

tbUserName.Text = value;

}

}

public string Password

{

get

{

return tbPasswd.Text;

}

set

{

tbPasswd.Text = value;

}



}



//事件处理

private void Submit_Click(Object sender,EventArgs e)

{

SqlConnection MyConn = new SqlConnection(strConnString);

MyConn.Open();

string strUserName,strPassword,strSelect;

strUserName = tbUserName.Text;

strPassword = tbPasswd.Text;

strSelect = select * from bbs_user where id=+strUserName+ and password=+strPassword+;

SqlCommand MyComm = new SqlCommand(strSelect,MyConn);

SqlDataReader dr = MyComm.ExecuteReader();

if(dr.Read())

{

//登陆成功

lblMsgShow.Text = 登陆成功;

Session[UserName] = dr[id].ToString();

Session[Purview] = dr[purview].ToString();

}

else

{

//登陆不成功

lblMsgShow.Text = 登陆不成功;

}

dr.Close();

MyConn.Close();

}





登陆窗口



用户名:

密码:







Footer.ascx(Footer用户控件)





private void Page_Load(Object src,EventArgs e)

{

if(Session[UserName]!=null)

{

lblUserName.Text = (string)Session[UserName];

lblPurview.Text = (string)Session[Purview];

}

}



用户名:



权限:



每个控件包含有自已的显示代码以及相应的程序代码。



我们可以将一些常用的功能制作成为固定的用户控件,当需要时,我们就可直接拿来使用,而不需要使用烦人的Crtl+C,Ctrl+V来复制、粘贴长长的一大堆代码。



用户控件不仅做到了程序代码与页面构架的分离,而且还增加了代码重用性。



3 自定义控件(Custom Control)



用户控件是很不错的选择,但是由于每个用户控件都是一个ascx文件,当这些控件很多时,它们的使用就显得比较零乱。此时我们便想可不可以将一些比较相似的控件整合起来,在程序中只需要引用一次,便全部搞定。这是个很不错的想法,我们把这个想法说得更加专业一些:将多个类(class)导入同一个命名空间(namespace)。呵呵,怎么样,这句话是不是有点有耳熟?大家快去查一查Server控件的定义,是不是发现这句话是...



我们下面就要接触如何写Server控件。编写Server控件并不是一件轻松容易的事情,需要对.Net平台有比较深的了解,适合于高级用户,因此这里本人也不会具体描述Server控件的编写步骤(要细细讲这个,非得写书不可)。请大家比较一下自定义控件源代码与用户控件的区别,作一些大致的了解:



using System;

using System.Data;

using System.Data.SqlClient;

using System.Drawing;

using System.Web;

using System.Web.UI;

using System.Web.UI.WebControls;

namespace aspcom

{

//首先是Header

public class Header:Control,INamingContainer

{

private AdRotator ad;

private Label lblAdText;



protected override void CreateChildControls()

{

//加入AdRotator广告控件

ad = new AdRotator();

ad.AdvertisementFile = AdBanners/ad.xml;

ad.BorderWidth = 0;

ad.AdCreated += new AdCreatedEventHandler(this.OnAdCreated);

t

上一页  [1] [2] [3]  下一页


Tags:


文章转载请注明来源于:5VAR论文频道 http://paper.5var.com。本站内容整理自互联网,如有问题或合作请Email至:support@5var.com
或联系QQ37750965
提供人:佚名
  • 上一篇文章:基于PDF文档的网络学习资源建设

  • 下一篇文章:电子商务网站平台3p设计技术与网络数据库
  • 返回上一页】【打 印】【关闭窗口
    中查找“ASP.Net中程序构架与程序代码的分离”更多相关内容 5VAR论文频道
    中查找“ASP.Net中程序构架与程序代码的分离”更多相关内容 5VAR论文频道
    最新热点 最新推荐 相关新闻
  • ››基于Cosmos的包装容器跌落试验的开...
  • ››日产100吨抄纸车间工艺设计分析
  • ››SDH网络规划与设计的案例分析
  • ››装饰原纸增湿強及再制浆工艺的设计...
  • ››基于网络印刷色彩再现技术的创新分...
  • ››图象序列中的运动检测技术的开发分...
  • ››体温测量仪设计系统的分析
  • ››通用视频编解码平台系统的问题和策...
  • ››页面在线设计系统的问题和策略分析...
  • ››微粒助留助滤体系用于废纸制浆造纸...
  • ››ASP制作学生档案管理系统
  • ››ASP技术访问WEB数据库
  • ››ASP.Net中程序构架与程序代码的分离...
  • ››ASP.NET的网站新闻管理系统设计与实...
  • ››ASP网页设计小技巧
  • ››ASP技术在交互式网页设计中的运用毕...
  • ››ASP 3.0高级编程(三)
  • ››ASP 3.0高级编程(四)
  • ››ASP 3.0高级编程(一)
  • ››ASP 3.0高级编程(二)
  •   文章-网友评论:(评论内容只代表网友观点,与本站立场无关!)
    关于本站 - 网站帮助 - 广告合作 - 下载声明 - 网站地图
    Copyright © 2006-2033 5Var.Com. All Rights Reserved .