前台:
<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值。
转载于:https://blog.51cto.com/lightweight/550314