3

我在 MSDN 上找到了这篇关于跨页发布的文章

我从未使用过 Page.PreviousPage。但我认为它很有趣。

你用它吗?这是一个好的做法,还是一个坏主意?

你有什么想法?

谢谢。

4

1 回答 1

4

跨页发布是一个助手,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 仍然直接在第二页上处理代码后面的数据(没有重定向)。

我希望这个例子能让你知道在哪里真正使用前一页。更常见的是重定向,在某些情况下您需要将结果发送到不同的页面。因此,无论您是否使用它,都要按情况进行。

于 2012-04-12T13:40:45.157 回答