2011-11-23 22 views
1

我需要從一個LinkBut​​ton這是一個GridView內的更新面板調用從一個UpdatePanel內的「window.open」

我把這個代碼在網格視圖的RowCommand

Dim script As String = "window.open('PopupPage.aspx, 'CommentsView', 'top=150,left=100,menubar=no,width=780,height=400,toolbar=no,resizable=no,scrollbars=yes');" 
ScriptManager.RegisterClientScriptBlock(Me.Page, Me.GetType, Guid.NewGuid().ToString(), script, True) 
內打開一個彈出窗口

但它不會打開彈出窗口,也不會出現錯誤,我該如何解決這個問題?

+1

在javascript代碼中缺少撇號(')會導致問題...對不起... – Nalaka526

回答

1

在javascript代碼中缺少撇號(')('PopupPage.aspx')。

Dim script As String = "window.open('PopupPage.aspx', 'CommentsView', 'top=150,left=100,menubar=no,width=780,height=400,toolbar=no,resizable=no,scrollbars=yes');" 
0

取代RegisterClientScriptBlock使用RegisterStartupScript因爲只要加載了服務器上的鏈接按鈕,就要執行該腳本。

2
<asp:GridView ID="GridView2" runat="server" AutoGenerateColumns="false"> 
<Columns> 
    <asp:TemplateField> 
    <ItemTemplate> 
<div style="text-align: right"> 
                      <asp:HyperLink ID="details_link_m1" runat="server" onclick="window.open(this.href,this.target,'directories=no,menubar=no,resizable=no,scrollbars=1,status=no,toolbar=no,addressbar=no,fullscreen=yes'); return false;" 
                       Target="_blank">Approve</asp:HyperLink> 
                     </div> 
                    </ItemTemplate> 
                    <ItemStyle Width="45px" /> 
                   </asp:TemplateField> 
               </Columns> 
                 </asp:GridView> 


protected void GridView2_RowDataBound(object sender, GridViewRowEventArgs e) 
{ 
    if (e.Row.RowType == DataControlRowType.DataRow && (e.Row.RowState == DataControlRowState.Normal || e.Row.RowState == DataControlRowState.Alternate)) 
    { 
     string url = ""; 
     if (((DataRowView)e.Row.DataItem).Row.ItemArray.GetValue(3).ToString() == "T1") 
     { 
      url = "Type1.aspx?Sid=" + ((DataRowView)e.Row.DataItem).Row.ItemArray.GetValue(0).ToString(); 
     } 

     HyperLink details_link_m1 = (HyperLink)e.Row.FindControl("details_link_m1"); 
     details_link_m1.NavigateUrl = url; 
    } 
}