【问题标题】:How do I set the target frame for form submission in ASP.NET?如何在 ASP.NET 中设置表单提交的目标框架?
【发布时间】:2010-02-16 16:47:04
【问题描述】:

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

<base target="_blank" />

但是我希望它上面的表单在单击一个按钮时提交给 _self(即页面所在的 iframe)。该表单是一个&lt;asp:Panel&gt;,带有一个用于提交它的&lt;asp:Button&gt; 控件。

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

【问题讨论】:

  • 您的意思是要提交到包含 iFrame 的页面?
  • 我希望提交以页面所在的 iframe 为目标,就像我没有 标记那样

标签: asp.net forms postback target


【解决方案1】:

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

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

【讨论】:

  • 诀窍是我使用的是 ASP.NET 每页一个表单的东西。我的“表单”是一个 asp:Panel 标签,所以我不能将目标属性放在任何地方(我需要我的 以便页面上的链接转到新标签)
【解决方案2】:

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

我只是把它放在我的页面中并尝试过。我必须进行这些修改:

1. 我只使用 asp 标签,所以我有 &lt;asp:Button&gt; 而不是 &lt;input type="button"&gt; 并且我的 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>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-08-18
    • 2015-04-20
    • 2010-11-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多