raindust

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

     最近参与了一个B/S系统的设计工作,用的是ASP.NET。在期间走了不少弯路,发现很多的误区(也可能是自己能力不足没有做到吧),写出来希望与大家分享。

     关于框架的设计:

          1. FRAMESET:

               个人觉得对于偏重于功能的网站选择此方案好一些。

               缺点:在框架设计的时候会经常用到FrameSet,其缺点是直接做一个“工”字型的框架不可实现(就是有一个Top, Bottom,中间由一个leftFrame和mainFrame的经典布局),只能先做一个“T”再内嵌一个子框架来间接实现,带来的缺点是Bottom在底部不是贯串一行的。

                         此外选择了FRAMESET就意味着框架的大小变为浏览器的大小,每个框架内的内容可根据实际情况滚动显示,但不会出现一个浏览器的右边滚动栏了,这多少有点遗憾,看起来页面总是不很顺畅。

               优点:每一个子框架中的内容页可分别加载,这样已经是局部刷新了,AJAX的工作可以相对少些(也许是自己比较菜的原因吧,用了AJAX总感觉有点放不下心)。

         2. 母版页

               个人觉得做个人网站等注重展示的网站采用此方案比较好些。:用于管理系统时,由于内容页和母版页最终是要合为一个整页面的,这样的话每一个功能项就意味着要重刷新一次(因为到导航到一个新的页面上去),以我现在的理解是不可避免的。因此对于链接较多的网站来说是个噩梦,当然网速高的时候没有问题,可在中国还是得考虑考虑。

          3. 框架中各部分的交互

          (以后有必要补上)

        关于一些小细节:

         1. 比较复杂提交页用Validate相关控件的噩梦,更确切地说应该是有AutoPostBack时Validate控件的噩梦。当有服务器控件的AutoPostBack属性为true时,Validate控件就会出现失效的情况,而且和Validate控件在同一个ValidateGroup中的按钮也会失效。不仅如此,链接也会失效。

               自己暂时没有任何解决方案,只能今后在遇到此种情况的时候慎用了。还望高人提供更好的解决方案。

          2.“返回”按钮不要直接调用history中的函数,就是类似“history.back()”,“history.go(-1)”什么的函数。为什么?当你有Alert的时候就知道了。弹出了错误的消息框,点击类似上面的返回按钮消息还会再弹出来,给用户看起来多烦啊。建议用window.location.herf=document.referrer

 

很多问题现在记不清了,先留下位置以后再写。

posted on 2008-12-02 21:50  ymz  阅读(234)  评论(0编辑  收藏  举报