zoukankan      html  css  js  c++  java
  • 学科资源网项目总结

          经过整整一周的忙碌,也牺牲了7个午睡的时间,从早上8点半到晚上11点,终于把这个网站做好了,不容易啊,好像又回到了大学那个时候,成天呆在机房调试程序,为了一点点收获就狂喜不已。
          虽然这表面看起来只是个普通的分类管理网站,但其内部结构和部署和石中网站相比,运用的某些技术却是石中网没有的,因为做石中网的时候可是刚研究.Net就着手做,对.Net的全局还不了解,所以写程序只能从点上去做,经过这些时间的学习,现在基本了解到了框架,但是还是有许多不懂和需要学习的地方。
          1.编辑分类时在DataGrid里绑定DropDownList控件,书上有例子,处理分类的时候因为各学科和资料类型,类别同属一个层的节点,但又都有子节点,而且需要把各学科单独提出来作为导航菜单,所以为各学科虚拟了个父节点。
          2.添加删除确认,照着书上的例子做的。
          3.扩展Page基类,在基类里做权限验证,功能函数等,便于在其他页面里调用。
          3.关于学科,类别,类型的DDL控件,做成了一个函数,bindClass(DropDownList ddlClass1,int ClassID),只要传入参数即可绑定DDL控件,但是这里由于需要控制某节点的子节点显示在其下,比如高一语文在语文之下,而数据库里Class表只有ClassID,ClassName,ParentID三个字段,首先想的是先先绑定学科的父节点,然后Reader读的时候再打开一个Reader,读其子节点,这是运用Asp里的“经验”,但是起先没有控制好Conn的连接,没有成功;然后想到的是在绑定完父节点后,循环每个节点,然后插入子节点在其下,但是发现这样不行,因为DDL在插入的时候如果节点数变化了就不能运用Foreach循环了;晚上回去的时候想到是否可以生成一个DDL先把学科父节点拷贝一个到生成的DDL里,然后再添加子节点到生成的DDL,然后下一次,完了后再清空原来的学科DDL,把生成的DDL的ItemCopy过去,第二天试,果然可以;昨天晚上监考的时候把书拿去看,发现还可以在DataSet的DataTable间建立父子表关系,方法更为简便呢,我的方法笨了点。
          4.文件上传,由于有的课件包含视频,大小会超过.Net默认的4M,所以需要修改默认大小,但是在我们Office的其他几台机器上测试时上传100多M的文件只需要几s,但是在数字化中心上传的时候,20M的文件都需要5—10钟,办公楼不知道怎样,估计也好不了多少。
          5.首页各学科资源列表绑定写了一个函数,比以前每个列表都要写绑定程序的方法快捷多了。
          6.页面上部,页面下部以及左边分类的导航列表我都做成用户控件,便于多次重复使用,避免重复代码,其中左边分类的导航列表是用Reapter做的,还需要在其间根据传入的学科分类修改导航列表的连接。
          7.查询,刚开始做查询的时候感觉拼合SQL语句很麻烦,条件限制很多,关键是不知道Where后面跟哪个条件,后来想到可以用FileID,这样就成了 where FileID<>'' and (各条件间或运算),这样不管是选择的那个条件,都可以连接在后面,不然Where后面不知道到底该是哪个,因为不知道用户会选哪个,不然就会用很多个IF判断了。
          8.比较麻烦的还有学科导航菜单,也搞很久,不得已,还是用了两个Reader循环嵌套读出每个父节点和其下的子节点。
  • 相关阅读:
    jQuery选择器
    jquery处理json笔记
    观察者模式
    shiro自定义realm
    AysncTask更新progressbar
    android自定义控件
    任务的挂起和激活
    main方法添加2个集合存储图形
    矩形类-内部类刷新
    圆类-内部类多线程刷新
  • 原文地址:https://www.cnblogs.com/Tmouse/p/181834.html
Copyright © 2011-2022 走看看