看了楼主的代码,觉得有好有坏
优点:
对程序分层了,虽然不是标准的分层方式,但是已经有这方面的思想了,其实现在常用的分层方式是将不同的层创建成不同的项目,不同的项目间互相引用,所有项目在同一个解决方案下;
另外,在查询数据库时返回值的方式不是.net中的DataSet方式,而是自定义的List,这点我个人很赞同,不知道楼主原来是不是写过java。
建议:
1、持久化对象类一般叫Model;
2、MessageDal.cs这个页面其实可以分到另一个层中;
3、我看到guest页面中,你跳转到其他页的方式,觉得有些多余,毕竟没有其他需要处理的逻辑,完全可以写成超链接的形式;
4、你的数据库链接字符串不应该写到类里,sqlcon = new SqlConnection("server=.\\SQLEXPRESS;database=ClientManage;uid=sa;pwd=198517");就是这句,应该写到web.config文件中,因为你在使用程序的时候,程序已经编译完了,不可能再去改代码了。不管程序是大是小,你的写法都是不可取的。
5、防止sql注入的问题,你并没有体现,在网站的代码安全方面,你做的还不够,可能是程序比较小,没有写,如果是,就当我这条没说,呵呵
6、还有就是,业务逻辑层,并不是一定要和数据库相关的逻辑才能放到这里,所有的业务逻辑都应该放到这里的,比如admin中看到了一段这样的代码:
bool temp = ubll.addUser(us);
if (temp == true)
{
Page.ClientScript.RegisterStartupScript(this.GetType(), "系统提示", "<script>window.alert('添加员工成功!');</script>");
}
else
{
Page.ClientScript.RegisterStartupScript(this.GetType(), "系统提示", "<script>window.alert('添加员工失败!');</script>");
}
如果你在ubll.addUser方法中返回的是一个添加成功或是失败的字符串,在这里只需要直接Page.ClientScript.RegisterStartupScript不就可以了吗?
这些仅是个人看法,呵呵