2015-04-23 109 views
4

我想打开按钮单击的新选项卡,单击的按钮存在于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); 

但should't表现出任何结果。

然后我可以使用这个代码 -

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> 

回答

0

试着用这一个替换当前的tempabc字符串:

string tempabc = "javascript:window.open('ReportViewer.aspx?ReportType=" + rptnew + "&Billno=" + billno + "&Mail=" + "Mail" + "&CCMail=" + CCMail + "&Subject=" + txtSubject.Text + "&MailBody=" + txtMailBody.Text + "','_newtab')"; 

添加了'_newtab'属性在新标签中打开它。

希望它有帮助。

+0

没有先生,没有工作,并没有显示任何回应。 – Abhishek

1

你可以做这样的事情也

<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();" /> 

在这里,你可以把多种功能。

+0

先生,onClientClick我可以检查一些验证,然后我可以使用此代码,但我会尝试它.. – Abhishek

+0

不,先生,不工作。 – Abhishek

+0

@Abhishek检查编辑过的部分 –

1

这是怎么回事?

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 
+0

同样的事情也发生在这段代码中,没有显示任何回应。 – Abhishek

+0

嗨@Abhishek你在按钮中检查了formtarget =“_ blank”属性。这是一个HTML 5标签。希望这会帮助你 –

+0

你好,先生,我试试这个,但不起作用。 – Abhishek

相关问题