当按钮放在更新面板中时,window.open在按钮单击事件中不起作用

时间:2015-09-11 23:20:04

标签: c# html asp.net visual-studio

我有2个级联下拉列表和一个按钮。我将所有3个控件放在一个asp.net更新面板中。我不想做一个完整的回发。现在的问题是,我的按钮单击事件包含一个“windows.open函数”,这不再打开一个新窗口,因为我的按钮在更新面板中我猜。我想知道如何再次在新窗口中打开网址? (它不一定是windows.open功能,但我想在新的窗口标签中打开网址www.google.com。我这样做不想使用Response.redirect)

请告诉我。

标记:

<asp:UpdatePanel ID="UP" runat="server" >
    <Triggers>
        <asp:AsyncPostBackTrigger ControlID="btnSubmit" EventName="Click" />
    </Triggers>
    <ContentTemplate>
        <asp:Label Text="Team :" runat="server"></asp:Label>
        <asp:DropDownList ID="ddlProject" OnSelectedIndexChanged="itemSelected" AutoPostBack="True" runat="server"></asp:DropDownList>
        <br />
        <asp:Label Text="Project :" runat="server"></asp:Label>
        <asp:DropDownList ID="ddlDetails" runat="server"></asp:DropDownList>
        <br/>
        <asp:Button ID="btnSubmit" class="btn btn-primary" 
            Text="Submit" OnClick="btnSubmit_Click" runat="server"/>
    </ContentTemplate>
</asp:UpdatePanel>   

代码:

protected void btnBugSubmit_Click(object sender, EventArgs e)
{
    //Code simplified below
    string m = "Https://www.google.com";
    string s = "window.open('" + m + "', 'popup_window', 'width=300,height=100,left=100,top=100,resizable=yes');";
    ClientScript.RegisterStartupScript(this.GetType(), "script", s, true);
}

我也尝试过使用

 ScriptManager.RegisterStartupScript(this,this.GetType(), "script",s, true);

而不是

ClientScript.RegisterStartupScript(this.GetType(), "script", s, true);

但这也会在同一窗口中打开网址。我想在新窗口或标签中打开网址。

0 个答案:

没有答案