我在MSDN上发现这篇文章谈论Cross-page posting。
我从未使用过Page.PreviousPage。但我觉得它很有趣。
你使用它吗?这是一个好的实践,还是一个坏主意?你怎么看?
感谢。
答案 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仍然在第二页上直接处理代码背后的数据(没有重定向)。
我希望这个例子能够让你知道在哪里真正使用上一页。此外,更常见的是重定向,有时您需要将结果发送到不同的页面。因此,如果您使用或不使用它的情况。