作者seagal (手放开)
看板C_Sharp
标题Re: [问题] ASP.NET的问题
时间Thu May 24 12:41:21 2007
关於这点 你可能要参考一下ASP.NET Page Life Cycle
http://www.microsoft.com/taiwan/msdn/columns/jhu_ming_jhong/A-ASP.NET_Architecture.htm
处理Control Event应该是在Page Load之後
所以才会发生这种情形
※ 引述《ohho (烦闷 人生)》之铭言:
: 您好,我试了类似您说的方法,
: 在Button_Click里传值给Session,
: 然後在Page_Load去读Session的值,
: 不过我发现这样会造成当点下某一页的Button,
: 资料不会立刻更新,也就是不会立刻抓到Session的值,
: 要重新整理或再点任一Button才会更新,
: 请问您有遇到这个问题吗?是如何解决的呢?
: 感谢。
: ※ 引述《GreatShot (我要拿Ph.D.!!!)》之铭言:
: : 不知道我的作法有没有比较不笨
: : 我也是土法炼钢 XD
: : 不过应该不会有像你这样的网址问题
: : 因为button是随着页面的多寡动态产生
: : 所以每个button都可以给一个unique的ID,eg. Page1, Page2,etc
: : for(i=xxx....)
: : {
: : Button tempbutton = new Button();
: : tempbutton.ID = "Page"+i.ToString();
: : ....
: : //全部button都使用同一个EventHandler
: : tempbutton.Click += new EventHandler(button_click)
: : }
: : 在button_click事件里依据sender的ID来判断是按了那个button
: : void button_click(object sender, EventArgs e)
: : {
: : ...
: : Session["Page"] = ((Button)(sender)).ID;
: : ...
: : }
: : 在page_load()里
: : 去读session来判断接下来的画面要读取哪几笔资料
: : if(Session["Page"] == null)
: : {
: : //预设显示画面
: : }
: : else
: : {
: : //根据Session["Page"]的值来判断要显示第几面
: : }
: : ....
: : //最後再把Session杀掉,让从别的地方来的页面一律先显示预设画面
: : Session["Page"] = null;
: : 这样就不会有网址的问题了
: : 一直都会维持在main.aspx XD
--
国家考试宪法,法绪,英文线上测验系统
http://david.bioinformatic.idv.tw/LawQuiz/
2007.05.08 新增金融题库
2007.05.10 新增诉讼法大意 基础医学题库
2007.05.16 新增公民题库
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.109.169.200