关于LinkButton点击2次才会跳转到所设置的页面

前台:

<asp:LinkButton runat="server" ID="lbtnNewsList" OnClick="lbtnNewsList_Click">****</asp:LinkButton>

后台:

protected void lbtnNewsList_Click(object sender, EventArgs e)
{
  lbtnNewsList.PostBackUrl = "~/admin/News.aspx?id=" + Session["cateId"].ToString();
}

点击LinkButton2次才能跳转到“News.aspx”

上网搜索了下:

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

 也就是说,我要想点击一次就能跳转到”News.aspx“,就得先初始化LinkiButton的属性:PostBackUrl值。

posted @ 2011-08-04 13:37  乄蛇  阅读(510)  评论(0编辑  收藏  举报