关于LinkButton的PostBackUrl属性的一点疑惑

在制作网站是经常需要在两个页面之间交换数据并跳转,有时候需要使用动态的跳转来实现,比如在Main.aspx :

如何得到txt中的值,然后将txt中的值发送到Search.aspx中呢?

最初认为这个问题很简单,只要在后台代码中设置PostBackUrl就可以实现,但是试着写了之后结果是不行的,出现的

现象是需要单击两次才能跳转到Url设定的页面中。

google如下:

http://social.microsoft.com/Forums/en-US/295/thread/74baa0d7-763b-4a1d-b71b-3c88f4e1d18c

PostBackUrl只是LikButton的属性它不是方法它不会执行操作,它在LinkButton发生Click事件时,系统自动从PostBackUrl属性读取Url并以此Url重定向,,所以执行重定向的是Click事件指向的方法。当然该语句是封装在LinkButton类内的我们看不到,估计是从Button类继承来的。现在就可是说明为什么你要连续点击两次才能导航到指定页面,当你第一次点击时LinkButton的PostBackUrl值是“/”所以重定向到原页面,但因为发生了Click事件所以会执行“imb.PostBackUrl = "z.aspx";  ”语句,此时PostBackUrl值是“z.aspx”,然后当你第二次点击时就会重定向到“z.aspx”。

要解决此问题就要在GridView初始化数据时给LinkButton的PostBackUrl属性一个初始值。

解决方法:

http://ask.wangmeng.cn/question/2899

你可能感兴趣的:(button)