[英]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.