2012-04-12 33 views
3

我在MSDN上發現這篇文章時談到了Cross-page posting跨頁面發佈。在Asp.net中使用PreviousPage是一個很好的實踐嗎?

我從來沒有使用過Page.PreviousPage。但我認爲它很有趣。

你用它嗎?這是一個好的實踐,還是一個壞主意?

您怎麼看?

謝謝。

+1

我不認爲這很適合StackOverflow,因爲沒有確切的答案 - 這確實是一個意見問題,但可能適合程序員.stackexchange.com。我的2c版本並不是通常的回傳行爲,很多其他開發者可能會被這個功能所吸引,如文章所言,使用Wizard控件會更好,因爲它專門爲此目的而設計,所以意圖很明確。 – dash 2012-04-12 13:14:16

+0

@簡直就是好主意,寫一些想法,爲什麼會存在。 – Aristos 2012-04-12 13:45:42

+1

@Aristos我同意,但這種問題更多地屬於程序員.stackexchange.com - 這不是一個壞問題,但它不太適合StackOverflow的QA格式 - 當然是IMO,這就是爲什麼我已經upvoted你的答案,因爲這是一個很好的答案。 – dash 2012-04-12 15:16:43

回答

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還是處理背後直接的代碼數據的第二頁上(用了重定向) 。

我希望這個例子給你和一個想法在哪裏真正使用上一頁。此外,更重要的是Redirect,如果您需要將結果分配到不同的頁面,那麼情況會如何。因此,如果你使用它或不使用它的話。

相關問題