点击链接按钮时,我试图打开一个新窗口。
<asp:LinkButton ID="lnkpackageinfo" CssClass="linkclass"
runat="Server"
OnClientClick="lnkpackageinfo_Click()">Compare Packages</asp:LinkButton>
我希望在后面的代码中给出目标页面,因为在目标页面中我想使用查询字符串来隐藏几个按钮和链接。很明显
protected void lnkpackageinfo_Click(object sender, EventArgs e)
{
long MerchantID = CommonHelper.GetLoggedInMerchant();
string querystringpackageinfo = ApplicationData.URL_MERCHANT_COMPANY_PACKAGE + "?MerchantCompanyPayment";
Response.Redirect(querystringpackageinfo, false);
}
这对我不起作用。我在哪里做错了?任何人帮助我!提前谢谢你!
答案 0 :(得分:2)
您正尝试使用客户端标记(lnkpackageinfo_Click
)调用服务器端功能(OnClientClick
)。
OnClientClick
将尝试调用您在属性值中命名的JavaScript函数,该函数不会出现,因为函数是服务器端(代码隐藏)函数。
您需要在页面上编写JavaScript函数,以便客户端打开一个新窗口。
答案 1 :(得分:2)
<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;
}
答案 2 :(得分:0)
嗯,你不需要()
一件事。
此外,只需使用OnClick=lnkpackageinfo_Click
属性。
然后在该函数中设置一个隐藏的字段值来调用一些javascript来打开一个新窗口。