首 页       用户登录  |  用户注册
设为首页
加入收藏
联系我们
按字母检索 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论文频道论文中心理工论文信息技术

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


Tags:


   ASP.Net中程序构架与程序代码的分离      ★★★ 【字体: 】  
ASP.Net中程序构架与程序代码的分离
收集整理:佚名    来源:本站整理  时间:2009-01-10 15:20:40   点击数:[]    

his.Controls.Add(ad);





this.Controls.Add(new LiteralControl(+当前广告链接为:));

//加入Label控件

lblAdText = new Label();

lblAdText.ForeColor = Color.Red;

this.Controls.Add(lblAdText);

}

private void OnAdCreated(Object sender,AdCreatedEventArgs e)

{

this.lblAdText.Text = e.AlternateText;

}

}

//接着是Logon

public class Logon : Control,INamingContainer

{

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

private Label lblMsgShow;

private TextBox tbUserName,tbPasswd;

public String UserName

{

get

{

return tbUserName.Text;

}

set

{

tbUserName.Text = value;

}

}



protected override void CreateChildControls()

{

//添加HTML标签

this.Controls.Add(new LiteralControl(登陆窗口 ));

//添加MsgShow Label控件

lblMsgShow = new Label();

lblMsgShow.ForeColor = Color.Red;

this.Controls.Add(lblMsgShow);

this.Controls.Add(new LiteralControl(用户名:));

//添加UserName与Passwd TextBox控件

tbUserName = new TextBox();

this.Controls.Add(tbUserName);

this.Controls.Add(new LiteralControl(密码:));

tbPasswd = new TextBox();

tbPasswd.TextMode = TextBoxMode.Password;

this.Controls.Add(tbPasswd);

this.Controls.Add(new LiteralControl());

//添加BtnSubmit Button控件

Button btnSubmit = new Button();

btnSubmit.Text = 登陆;

btnSubmit.Click += new EventHandler(this.Submit_Click);

this.Controls.Add(btnSubmit);

this.Controls.Add(new LiteralControl());

}

//显示完毕

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())

{

//登陆成功

this.lblMsgShow.Text = 登陆成功;

}

else

{

//登陆不成功

this.lblMsgShow.Text = 登陆不成功;

}

dr.Close();

MyConn.Close();

}

}

//最后是Footer

public class Footer : Control,INamingContainer

{

private string _UserName,_Purview;



public string UserName

{

get

{

return _UserName;

}

set

{

_UserName = value;

}

}



public string Purview

{

get

{

return _Purview;

}

set

{

_Purview = value;

}

}



public Footer()

{

_UserName = 游客;

_Purview = 无;

}



protected override void CreateChildControls()

{

this.Controls.Add(new LiteralControl(用户名:));

Label lblUserName = new Label();

lblUserName.ForeColor = Color.Red;

lblUserName.Font.Name = Arial;

lblUserName.Text = this.UserName;

this.Controls.Add(lblUserName);

//this.Controls.Add(new LiteralControl(nbsp;));



this.Controls.Add(new LiteralControl(权限:));

Label lblPurview = new Label();

lblPurview.ForeColor = Color.Red;

lblPurview.Font.Name = Arial;

lblPurview.Text = this.Purview;

this.Controls.Add(lblPurview);

}

}

}



上面和程序是将需要实现的功能,全部导入了自定义控件。程序中可以看到,在aspcom命名空间中包含三个类(Header,Logon,Footer),这三个类正是构架三个主体部分。



要使用自定义控件,还必须将原代码进行编译。



csc /t:library /out:aspcom.dll /r:System.Data.dll,System.Web.dll,System.Drawing.dll CustomControls.cs



C#程序编译指令的用法,本人在此也不再重复。需要注意的是编译的文件名,必须与控件中namespace的名字一致。



编译后的dll,仍然不能使用,我们必须将其放到.Net平台中最著名的目录--/bin中,bin目录(如果不存在,可以自行建立)存放的是当前虚拟目录中所有使用自定义控件以及组件,CLR在执行ASP.Net程序时会自动搜索此目录中的文件,以找到与ASP.Net程序相匹配的Namespace、Class 以及Assembly。



当我们将程序编译好的aspcom.dll放入/bin目录后,这个自己编写的Server控件便可以使用了。

(需要声明一下,由于编写Server控件时不能使用Session等变量,以至无法做到两个class之间的通信,因此在缺省状态下Footer控件并不能像前面的程序一样随Session内容发生改变,不过可以通过普通操作Server控件的方法来操作相应的属性达到相同的效果,此处为节约版面,未采用)

下面再来看看主体Web Form的程序内容:































怎么样,相当简单明了吧。

引用我们自定义的控件,也相当简洁,只需将Register指令的TagPrefix、Namespace、Assembly属性全部设定为aspcom。



至此,ASP.Net中三种代码与页面构架分离的方法已经介绍完毕。



三种方法各有优劣,本人比较倾向于使用用户控件与CodeBinde技术结合使用,因为他们均不需要编译,相对来说更容易使用,如果您要保护你的代码,自定义控件则当然是您最佳的选择。



希望本文对您的编程有所帮助。





文章转载请注明来源于: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 .