我在 MSDN 上找到了这篇关于跨页发布的文章。
我从未使用过 Page.PreviousPage。但我认为它很有趣。
你用它吗?这是一个好的做法,还是一个坏主意?
你有什么想法?
谢谢。
跨页发布是一个助手,post some data to a different page
并且仍然具有功能背后的 asp.net 代码。
为什么会存在这个?因为 asp.net 有一个限制of one and only form per page
。但实际上对于一个 html 页面,您可以有许多表单和许多不同的帖子到不同的页面。
因此,为这种情况提供一个工具,是让您设置第二个页面来发布数据,然后在按钮上设置它(而不是通过放置第二个表单),然后从那里解决这个问题,将数据发布到不同的页面。
例如......没有asp.net和页面上的简单html你可以做到这一点。
<body>
<form method="post" action="samepage.html">
Username: <input type="text" name="user" />
<input type="submit" value="Submit" />
</form>
<form method="post" action="page_b.html">
email for news letter: <input type="text" name="email" />
<input type="submit" value="Submit" />
</form>
</body>
为了解决这样的情况,并且因为 asp.net 不允许在同一页面上使用两个表单,所以给出了这个选项。
<body>
<form id="form1" runat="server">
Username: <asp:TextBox runat="server" ID="Name" />
<asp:Button runat="server"/>
email for news letter: <asp:TextBox runat="server" ID="email" />
<asp:Button runat="server" PostBackUrl="page_b.aspx" />
</form>
</body>
在第二种情况下,您有一个表单,但您将 PostBackUrl 设置为不同的页面,并且从那里 asp.net 仍然直接在第二页上处理代码后面的数据(没有重定向)。
我希望这个例子能让你知道在哪里真正使用前一页。更常见的是重定向,在某些情况下您需要将结果发送到不同的页面。因此,无论您是否使用它,都要按情况进行。