将自定义标头添加到iframe asp.net

时间:2016-10-06 14:49:41

标签: asp.net iframe

有一个遗留的.net应用程序。在其内容页面中,我需要打开一个MVC应用程序。所以我使用Iframe并打开MVC应用程序。

我对如何通过自定义标头将参数发送到MVC应用程序感到困惑。我不能使用查询字符串,因为需要发送的参数非常大。

请帮助。

<asp:Content ID="Content" ContentPlaceHolderID="MainContent" runat="server">
            <iframe id="frame" ></iframe>
    </asp:Content>

这是我的.net应用程序中的一段代码。如何在调用MVC appl时添加标头。

1 个答案:

答案 0 :(得分:1)

通过&#34;自定义标题传递数据,不知道你的意思。&#34;通常标头用于元数据,而不是数据。如果您要传递大量数据,传统方式是通过表单/帖子。这是一种方法:

在旧应用程序(包含iFrame的应用程序)中:

<asp:Content ID="Content" ContentPlaceHolderID="MainContent" runat="server">
    <iframe id="frame" src="https://MyLegacyApp.com/Handoff.aspx"></iframe>
</asp:Content>

注意:是的,iFrame的SRC指向旧应用程序,而不是新的MVC应用程序。

向名为Handoff.aspx的旧应用添加一个新页面,如下所示:

<!-- Provide image while form is posting.  Style = centered. -->
<IMG SRC="Spinner.png" ALT="Please wait" style="position: fixed; top: 50%; left: 50%; transform: translate(-50%, -50%);">

<!-- Hidden form that will post data to MVC site -->
<FORM Action="https://MyMVCApp.com/ReceiveHandoff" method="POST">
    <INPUT Name="Input1" Type="Hidden" Value="PLACE YOUR HUGE DATA HERE, OR IN SEVERAL HIDDEN TAGS IF YOU WANT.">
</FORM>

<!-- Script that autoposts the form -->
<SCRIPT>
    window.onload = function(){document.forms[0].submit();}
</SCRIPT>

现在&#34; ReceiveHandoff&#34;您的MVC站点中的页面将通过iFrame访问,并使用表单中传递的数据进行初始化。要阅读数据,您可以使用one of these methods,例如:

var data = Request["Input1"];