Открыть новую вкладку по нажатию кнопки?
Я хочу открыть новую вкладку при нажатии кнопки, кнопка, которая нажала, существует в Iframe.
Я использую этот код--
string tempabc = "javascript:window.open('ReportViewer.aspx?ReportType=" + rptnew + "&Billno=" + billno + "&Mail=" + "Mail" + "&CCMail=" + CCMail + "&Subject=" + txtSubject.Text + "&MailBody=" + txtMailBody.Text + "')";
ClientScript.RegisterStartupScript(this.GetType(), "script", tempabc, true);
но это не должно показать никакого результата.
тогда я могу использовать этот код
Response.Redirect("ReportViewer.aspx?ReportType=" + rptnew + "&Billno=" + billno + "&Mail=" + "Mail" + "&CCMail=" + CCMail + "&Subject=" + txtSubject.Text + "&MailBody=" + txtMailBody.Text + "'");
Откроется следующая страница в том же Iframe.
что я могу сделать.
На моей странице.aspx я могу использовать эти теги.
<body>
<form id="form1" runat="server">
<div>
<asp:ToolkitScriptManager ID="ToolkitScriptManager1" runat="server">
</asp:ToolkitScriptManager>
<asp:Panel ID="PanelMail" runat="server">
<asp:UpdatePanel ID="UpdatePanel15" runat="server">
<ContentTemplate>
<table>
<tr>
<td colspan="2" style="padding-top: 14px; padding-bottom: 10px;">
<center>
<asp:Button ID="BtnMail" Style="" Text="Mail" CssClass="btnn" runat="server" OnClick="BtnMail_Click"
OnClientClick="return MailSubmit();" />
</center>
</td>
</tr>
</table>
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="BtnMail" EventName="Click" />
</Triggers>
</asp:UpdatePanel>
</asp:Panel>
</div>
</form>
</body>
3 ответа
Как насчет этого?
string tempabc = "javascript:window.open('ReportViewer.aspx?ReportType=" + rptnew + "&Billno=" + billno + "&Mail=" + "Mail" + "&CCMail=" + CCMail + "&Subject=" + txtSubject.Text + "&MailBody=" + txtMailBody.Text + "','_blank')";
Или же
добавлять formtarget="_blank"
атрибут в вашей кнопке
Или же
<button onclick="a()">Click Me</button>
<script>
function a()
{
window.open('url', '_blank', 'width=300,height=200');
}
</script>
Если вы не упомянули size
он откроется в new tab
иначе как popup
,
window.open('url', '_blank') - next tab
window.open('url', '_blank','width=300,height=200') - popup
Попробуйте заменить свой текущий tempabc
строка с этим:
string tempabc = "javascript:window.open('ReportViewer.aspx?ReportType=" + rptnew + "&Billno=" + billno + "&Mail=" + "Mail" + "&CCMail=" + CCMail + "&Subject=" + txtSubject.Text + "&MailBody=" + txtMailBody.Text + "','_newtab')";
Добавил '_newtab'
атрибут, чтобы открыть его в новой вкладке.
Надеюсь, поможет.
Вы также можете сделать что-то подобное
<asp:Button ID="Button1" runat="server" Text="Button"
onclick="Button1_Click" OnClientClick="document.forms[0].target = '_blank';" />
РЕДАКТИРОВАТЬ
Тогда попробуйте это:
<script type = "text/javascript">
function SetTarget() {
document.forms[0].target = "_blank";
}
</script>
<asp:Button ID="Button1" runat="server" Text="Button"
onclick="Button1_Click" OnClientClick = "SetTarget();" />
Здесь вы можете поставить несколько функций.