2010-02-16 29 views
4

我有一个asp.net页面中的iframe,所有环节_blank目标如何在ASP.NET中设置表单提交的目标框架?

<base target="_blank" /> 

但我想它的形式提交给_self(即在页面所在的IFRAME)当一个按钮点击。该表格是一个<asp:Panel>,提供控件。

我在哪里可以设置此表单的目标?由于文件中没有<form>标记或<input>标记(ASP.NET在渲染页面时会显示它),所以我不知道如何更改目标以覆盖标记<base>

+0

您是否要提交到包含iFrame的页面? – Kirschstein

+0

我想要提交的目标页面所在的iframe,因为它会如果我没有标记在那里 – adambox

回答

3

我刚刚在asp.net论坛上发现this postmokeefe改变目标的javascript。

我只是把它放在我的页面,并尝试它。我不得不做出这些修改:

我只使用ASP标记,所以我有不<input type="button">和我的onclick必须是服务器端的方法,我号召提交。因此,我把这个新的JavaScript在的OnClientClick

<asp:Button ID="cmdEmailSearch" runat="server" Text="Search" 
      OnClick="cmdEmailSearch_Click" 
      OnClientClick="javascript:pageSubmit()"/> 

2.我删除了myForm.submit(),因为ASP.NET将呈现把WebForm_DoPostBackWithOptions()的JavaScript按钮的的onclick页面它把我的pageSubmit()

<script type="text/javascript"> 

    function pageSubmit(){ 
     // where form1 is the Parent Form Id 
     var myForm = document.getElementById('form1'); 
     myForm.target = '_self'; 
    }// end function 
</script> 
4

之后,我不知道如果我理解你りght,但是您可以在表单标签中设置目标,如下所示:

<form method=post action="Page.aspx" target="_self"> 
+0

诀窍是我使用ASP.NET每页一页的东西。我的“表单”是一个asp:Panel标签,所以我无法将目标属性放在任何地方(我需要我的以便我的页面上的链接转到新标签页) – adambox