我需要在新窗口中打开链接按钮中的链接。我有下面的代码,但它会引发javascript错误。请帮忙
aspx代码:
<asp:LinkButton ID="Link" runat="server" CssClass="ReadOnlyLabel"
CausesValidationn="false" OnClick="Link_Click"/>
背后的代码
protected void Link_Click(object sender, EventArgs e)
{
ScriptManager.RegisterStartupScript(this, typeof(string), "OPEN_WINDOW",
"window.open(" + Link.Text + " ,'new_tab');", true);
}
答案 0 :(得分:3)
最好在这种情况下使用Hyperlink,它有目标选项: -
<asp:HyperLink ID="Link" runat="server" CssClass="ReadOnlyLabel"
CausesValidationn="false" Target="_blank">Click Here</asp:HyperLink>
只需设置NavigateUrl
属性即可设置窗口网址,并将Target
属性设置为_blank
。
答案 1 :(得分:1)
试试这个
ScriptManager.RegisterStartupScript(this, this.GetType(), Guid.NewGuid().ToString(),
"window.open('" + Link.Text + "' ,'new_tab');", true);
修改
ScriptManager.RegisterStartupScript(this, this.GetType(), Guid.NewGuid().ToString(),
@"window.open('https://www.google.co.in/' ,'new_tab');", true);
所以它变成了
ScriptManager.RegisterStartupScript(this, this.GetType(), Guid.NewGuid().ToString(),
"window.open('https://" + Link.Text + "' ,'new_tab');", true);
答案 2 :(得分:0)
我非常喜欢使用aspx,但这肯定会引起人们的兴趣吗?
onclick="window.open (this.href, 'popupwindow', 'width=500,height=500,scrollbars,resizable')
答案 3 :(得分:0)
这对我有用
Uri uri = new Uri(LinkButton.Text);
ScriptManager.RegisterStartupScript(this, Page.GetType(), "", "window.open('" + uri.OriginalString + "');", true);