作者GreatShot (我要拿Ph.D.!!!)
看板C_Sharp
标题Re: [问题] ASP.NET的问题
时间Thu May 24 04:21:33 2007
※ 引述《ohho (烦闷 人生)》之铭言:
: 所以我在Button_Click那加上Response.Redirect("main.aspx?page=1");
: 这样点Button是没问题的,
: 但是如果在TextBox键入资料(也就是焦点还在TextBox上)按enter,
: 一样会有网址列为main.aspx?page=X的问题(资料显示都是正确的前20笔),
: 请问这有什麽解法吗?
: 还是我之前某个想法是错的?
: 请各位帮忙解答一下,感激不尽!
不知道我的作法有没有比较不笨
我也是土法炼钢 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
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 220.133.110.47