作者seagal (待救的小米)
看板C_Sharp
标题Re: [问题]有关ASP.NET的问题...
时间Fri Nov 5 23:32:55 2004
你的网页这五个页面
应该可以当作五个物件来看
而这五个物件
应该是要能够同时更新的
例如 使用者按了加选
右边那个表格 就得秀出加选哪一节课
像是有这种需求的
你就可以利用设计模式(Design Pattern)里面的
Observer模式
如果你对Observer有概念的话
就可以了解
这五个物件其实就是Observer
但这只是一开始的想法
这在AP上很好实作
但是在Web上面不好实作
因为Web是Stateless的环境
当你为每个使用者保存他们的Subject时候
有可能记忆体会损耗太多
我曾经尝试过 後来我放弃了
但这只是一开始的想法
这在AP上很好实作
但是在Web上面不好实作
因为Web是Stateless的环境
当你为每个使用者保存他们的Subject时候
有可能记忆体会损耗太多
我曾经尝试过 後来我放弃了
因此这个模式必须要调整一下
所以你可以不要使用Subject去更新Observer资料
而每个Observer(User Control)都会拥有 pre_render事件
你只需要把想做的事情
写在pre_render事件里面
例如 你拥有UserCourse User Control(右边那个表格)
在这物件里 他必须要能够抓到使用者加选哪些课
然後秀出来 嗅出来这动作就写在UserCourse pre_render event
then 资料去哪抓?
你可以把加选的资料 存在session里
这样就可以有更新的效果 不管你多几个User control
都可以同时更新
这是在旧版的做法
新版ASP.NET 2.0有Web Parts
应该更好实现Observer Pattern
因为这些Parts是能够互相沟通的
你有空也可以拿新版试试吧
※ 引述《seagal (待救的小米)》之铭言:
: ※ 引述《Achiang (和ASP.NET搏斗中!)》之铭言:
: : 这是我目前网页的样子
: : http://cat.hfu.edu.tw/~b9010014/1.jpg
: : 此画面是由五个form构成
: : 上面为Title.aspx
: : 左边为ShowCourse.aspx
: : 我希望Title的<确认搜寻>按下去後
: : 可以把六个搜寻项目的值传到ShowCourse
: : 并且列表进行更新的动作
: : 我的想法是,在Title写个script,<确认搜寻>按下去会触发它
: : 把六个值丢给ShowCourse後,画面要跟着更新
: : 请问要怎麽在Title里呼叫ShowCourse的物件,好让它更新呢?
: : 先在此谢谢帮忙的人罗 ^^
: ㄝ 基本上你这样使用frame的设计
: 已经脱离ASP.NET的精神了
: 另一个比较好的设计
: 是要利用五个使用者控制项 塞在一个form里面
: 而不是使用五个form 塞在一个frame里面
: 使用frame就会遇到你所说的问题
: 如何让A form去呼叫B form更新
: 这样势必就得去加HTML码 指定target之类有的没有的事情
: 整个模型会变复杂低
--
生物资讯研究室:每天都会更新文件,提供生物资讯教学
http://www.bioinformatic.idv.tw
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.109.73.177