簡體   English   中英

單擊鏈接按鈕后,在新窗口中打開頁面

[英]Open page in new window when a link button is clicked

單擊鏈接按鈕時,我試圖打開一個新窗口。

<asp:LinkButton ID="lnkpackageinfo" CssClass="linkclass" 
    runat="Server" 
    OnClientClick="lnkpackageinfo_Click()">Compare Packages</asp:LinkButton>

我希望目標頁面在后面的代碼中給出,因為在目標頁面中,我想使用querystring隱藏一些按鈕和鏈接。 很明顯

protected void lnkpackageinfo_Click(object sender, EventArgs e)
{

  long MerchantID = CommonHelper.GetLoggedInMerchant();
  string querystringpackageinfo = ApplicationData.URL_MERCHANT_COMPANY_PACKAGE + "?MerchantCompanyPayment";
  Response.Redirect(querystringpackageinfo, false);
}

這對我不起作用。 我在哪里做錯了? 任何人都可以幫助我! 先感謝您!

您正在嘗試使用客戶端標記( OnClientClick )調用服務器端函數( lnkpackageinfo_Click )。

OnClientClick將嘗試調用您在屬性值中命名的JavaScript函數,該函數將不存在,因為該函數是服務器端(代碼在后)函數。

您需要在頁面上編寫JavaScript函數,以便客戶端打開新窗口。

你可以做這樣的事情嗎?

<asp:LinkButton ID="lnkpackageinfo" CssClass="linkclass" runat="Server"> Compare Packages</asp:LinkButton> 


protected void Page_Load(object sender, EventArgs e)
{
    lnkpackageinfo.Attributes.Add("onclick", "javascript:window.open('" + GetURL()+  "'); return false;");

}


public string GetURL()
{
   long MerchantID = CommonHelper.GetLoggedInMerchant(); 
   string querystringpackageinfo = ApplicationData.URL_MERCHANT_COMPANY_PACKAGE + "?   MerchantCompanyPayment"; 

   return querystringpackageinfo;
}

好吧,您不需要()做一件事。 另外,只需使用OnClick=lnkpackageinfo_Click屬性。 然后在該函數中設置一個隱藏字段值,以調用一些javascript以打開新窗口。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM