欢迎光临
我们一直在努力

大家一起来开拓我们的DotNET架构吧–DotNETStruts-.NET教程,评论及其它

建站超值云服务器,限时71元/月

架构名称 dotnetstruts

______________________________________________

暂时还不能称的上是架构

之所以命名为 dotnetstruts,是因为我看了java的struts觉得很好,但是java的ide不敢恭维,所以我就想用dotnet来实现struts架构,故命名为

dotnetstruts,

版权唠叨:

______________________________________________

本程序不受任何法律保护,只希望我们中国的程序员来积极做dotnet上的开源,做dotnet上的架构.

只希望保留其名称dotnetstruts,作者 哈哈

简介

_______________________________________________

类似与java的动态bean,这里的实体类使用了动态属性,其属性用配置文件

dbschema记录.该配置文件中记录数据库的数据库信息,如是否主键,是否为空等

例如数据库中有一个表 teacher(id,name,gender,class),其中id为主键且自动增加值

则可以通过如下方法使用该类

dim te as new entity("teacher")

te.property("id") = 10001

te.property("name") = "zhangsan"

te.property("gender") = "f"

te.property("age") = 23 该句出现异常,因为配置文件(即数据库纲要)中,表teacher

没有age字段

下面是一些操作

te.insert() te.update te.delete te.select()

其中 insert 操作忽略自动增加值的字段(indentity)

insert teacher(name,gender) values(zhangsan,f)

update 操作将主键作为where的条件. 即生成的sql为

update teacher set name = zhangsan,gender = f where id=10001

delete 操作将忽略出主键外的任何属性,sql为

delete from teacher where id = 10001

select 操作利用"和"运算筛选记录,sql为

select * from teacher where id = 10001 and name = zhangsan and gender = f

主从表操作

打印编号为10001教师的所以学生的姓名

dim st as entity

if te.haschilds("studnet") then

for each st in teacher.getchilds()

console.write(st.get("name"))

next

end if

打印学生编号为 102 的教师的名字

dim st as new entity("studnet")

st.property("id") = 102

if st.hasparent() then

console.write(st.getparent.get("name"))

end if

对于 asp.net 的支持

增加记录

teacher_insert.htm的主要内容

….

….

<form name="form1" action="do.do"> // 该url do.do 通过web.config 映射到 navigation 类

<input type=hidden name="[[table]]" value="teacher" />

<input type=hidden name="[[operation]]" value="insert" />

<input type=hidden name="[[forward]]" value="teacher_list.aspx" />

<input type=text name="name" />

<input type=text name="gender" />

<input type=text name="class" />

<input type=submit name=submit />

</form>

写完这个静态文件,不用写任何代码,就可以将该记录插入到数据库中,

其中3个隐藏域含义为

name="[[table]]" value="teacher" 表示要操作的实体类为 teacher

name="[[operation]]" value="insert" 表示实现的操作为插入操作,支持的操作为 insert,update,delete,select

name="[[forward]]" value="tacher_list.aspx" 表示插入成功后跳转到 teacher_list.aspx

数据库的配置文件可以通过 dbschema 提供的writexml()方法从sqlserver提取出来

希望扩充的功能

____________________________________________________

add,list,upate,view 等htm或aspx页面生成(正在写,写成winform形式)

包括客户端的数据验证,提供一些样式可以选择

权限系统,对每个表的各种操作实现权限限制,通过配置文件进行配置

模板系统,美工在页面中使用一些"标签",如 teacher.name,程序可以将数据库的信息替换到这里,生成html静态页面

或者将该嵌入有特殊"标签"的模板文件生成可执行的aspx文件,比生产静态页面难度大哦

支持分页

兼容现在的asp.net控件

现在这种结构很想asp或是jsp的结构,现在asp.net 的优势是实现类似与winform的交互.

怎样把asp.net的这种优点利用起来,现在思路还不是很清晰

商务逻辑的实现

现在只是硬邦邦的实现了针对于单表增删查改.

下一步还想通过配置文件实现商务逻辑

**************************************************************************************************

**************************************************************************************************

本贴会持续更新,我把现有代码整理一下,过几天贴出来.希望每个看到此帖的dotnet爱好者把它收藏起来

希望的后续发展:

开通网站和论坛,开源,由广大爱好者共同发表意见,规划它的结构,每个人都写一点(目前有点乱,说实在的,我uml不好)

希望三个中国人一条龙,共同把它象linux一样发展起来(不能和它比哦.嘿嘿…)

赞(0)
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » 大家一起来开拓我们的DotNET架构吧–DotNETStruts-.NET教程,评论及其它
分享到: 更多 (0)