我有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);
但这也会在同一窗口中打开网址。我想在新窗口或标签中打开网址。