有一个遗留的.net应用程序。在其内容页面中,我需要打开一个MVC应用程序。所以我使用Iframe并打开MVC应用程序。
我对如何通过自定义标头将参数发送到MVC应用程序感到困惑。我不能使用查询字符串,因为需要发送的参数非常大。
请帮助。
<asp:Content ID="Content" ContentPlaceHolderID="MainContent" runat="server">
<iframe id="frame" ></iframe>
</asp:Content>
这是我的.net应用程序中的一段代码。如何在调用MVC appl时添加标头。
答案 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"];