ASP.NET中将对界面的操作封装到DLL中
单位有一个ASP.NET Web Application项目,以该项目为例,简单研究了一下项目模块化和界面逻辑完全独立等。
定义:
界面,ASPX文件中的纯HTML代码;
资源,存放在XML或其他格式文件中文本信息,供界面显示;
界面驱动,多语言资源显示、界面显示控制等;
逻辑,相关业务代码
具体实现
1、DLL的引用中添加System.Web
2、每个ASPX在DLL中都对应一个CS类文件
3、每个类中都引用
using System.Web;
using System.Web.UI;
如果需要操作页面控件,还需要引用:
using System.Web.UI.Control;
4、定义一个基类:
using System.Web;
using System.Web.UI;
public class Base
{
private Page page = null;
public Base()
{
}
protected void Initialize(Page _page)
{
if (_page != null)
{
page = _page;
}
}
protected Label FindLabel(string name)
{
if (name.Length > 0)
{
return (Label)FindControl(name);
}
else
{
return null;
}
}
private Control FindControl(string name)
{
if (name.Length > 0)
{
return page.FindControl(name);
}
else
{
return null;
}
}
};
5、每个界面驱动类都继承基类
using System.Web;
using System.Web.UI;
using System.Web.UI.Control;
public class LoginUI : Base
{
public LoginUI(Page _page)
{
base.Initialize(_page);
}
public void LoadResource()
{
Label lblUser = FindLabel("lblUser");
lblUser.Text = "Username: ";
...
//绑定事件
Label lblTips = FindLabel("lblTips");
lblTips.click += new EventHandler( this.lblTips_Click);
}
public void lblTips_Click( object sender, EventArgs e)
{
...
}
};
本文介绍了如何在ASP.NET项目中将界面操作封装到DLL中,包括定义界面、资源、界面驱动和逻辑的分离,以及具体实现步骤,如创建基类和继承该基类的界面驱动类,实现控件查找和事件绑定等功能。

1440

被折叠的 条评论
为什么被折叠?



