跨页发布。在Asp.net中使用PreviousPage是一个很好的实践吗?

时间:2012-04-12 12:57:33

标签: asp.net cross-page-postback

我在MSDN上发现这篇文章谈论Cross-page posting

我从未使用过Page.PreviousPage。但我觉得它很有趣。

你使用它吗?这是一个好的实践,还是一个坏主意?

你怎么看?

感谢。

1 个答案:

答案 0 :(得分:4)

跨页面发布是post some data to a different page的帮助,并且仍然具有asp.net代码隐藏功能。

为什么会存在?因为asp.net有一个限制of one and only form per page。但实际上,对于一个html页面,你可以有很多表格和许多不同的帖子到不同的页面。

所以为这个案例提供一个工具,让你设置第二个页面来发布数据,你在Button上设置这个(而不是通过放置第二个表单),并从那里解决这个问题,发布数据到不同的页面。

例如......使用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仍然在第二页上直接处理代码背后的数据(没有重定向)。

我希望这个例子能够让你知道在哪里真正使用上一页。此外,更常见的是重定向,有时您需要将结果发送到不同的页面。因此,如果您使用或不使用它的情况。