如何在ASP.NET中设置表单提交的目标框架?

时间:2010-02-16 16:47:05

标签: asp.net forms postback target

我在iframe中有一个asp.net页面,其中所有链接都以_blank

为目标
<base target="_blank" />

但是,当单击一个按钮时,我希望其上的表单提交给_self(即页面所在的iframe)。该表单为<asp:Panel>,其<asp:Button>控件用于提交。

我在哪里可以设置此表单的目标?由于文件中没有<form>标记或<input>标记(ASP.NET在呈现页面时生成它们),我不知道如何更改目标以覆盖我的{ {1}}标记。

2 个答案:

答案 0 :(得分:4)

我不确定我是否理解你,但您可以在表单标记中设置目标,如下所示:

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

答案 1 :(得分:3)

我刚刚在this post的asp.net论坛上发现了mokeefe,它通过javascript更改目标。

我只是把它放在我的页面中并试了一下。我不得不做出这些修改:

1。我只使用asp标签,因此我<asp:Button><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>