2010年7月9日 星期五

[ASP.NET]UpdatePanel中使用LinkButton

在GridView中使用LinkButton,用LinkButton用onClick觸發連結
一切正常,但當加上使用UpdatePanel後,LinkButton就失效了。
後來看有人使用commandname的方式,試了仍不行。
而看了Page Life Cycle後,瞭解prerender是

定位在最後一個事件,這次終於成功了
//這裡的列出GridView中的LinkButton


//onprerender觸發事件
protected void lb_VLINK_PreRender(object sender, EventArgs e)
{
GridViewRow ROWSELECTED = ((LinkButton)sender).NamingContainer as GridViewRow;
LinkButton lb = (LinkButton)sender;
string vLINK = ROWSELECTED.Cells[7].Text;       //檔案位址

lb.Attributes.Add("onClick", "javascript:window.open('"+ vLINK + "');");

}

//另外補充,若要整列都有Link的效果(也就是在tr中點任何一個地方),可加上下面onClick事件
protected void gv_result_RowDataBound(object sender, GridViewRowEventArgs e)
{
string VLINK = e.Row.Cells[7].Text;
e.Row.Attributes.Add("onClick","javascript:window.open('" + VLINK + "')");
}


1 則留言:

  1. 您好~感謝您分享的資訊
    由於我最近也遇到這個問題UpdatePanel會使LinkButton失效( 整個就很頭大的啊!! )

    您所提供的第二種方法我不是很明白
    請問能夠提供詳細一些的解說嗎? 真的感謝萬分

    回覆刪除