4

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

<base target="_blank" />

但是我希望它上面的表单在单击一个按钮时提交给_self(即页面所在的iframe)。表单是一个<asp:Panel>带有<asp:Button>提交它的控件​​。

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

4

2 回答 2

4

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

<form method=post action="Page.aspx" target="_self">
于 2010-02-22T16:12:21.197 回答
3

我刚刚在mokeefe的 asp.net 论坛上找到了这篇文章,它通过 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>
于 2010-02-22T16:08:46.717 回答