如果您在返回到搜索頁面時丟失了這些值,我假設您讓用戶通過鏈接,菜單等導航到搜索頁面?在這種情況下,當URL在瀏覽器中加載時,搜索頁首次加載(預期行爲)。
您有幾種選擇堅持的信息:
1.會話:當初始搜索表單填寫和頁面回,堅持/存儲在會話中的表單值。然後修改頁面,以便在初始加載時查找這些會話值並綁定網格。這將允許這些值持續存在。
寬鬆的例子:
protected void btnSearchButton_Click(object sender, EventArgs e)
{
//store the values of the form in session
}
protected void Page_Load(object sender, EventArgs e)
{
if(!Page.IsPostBack)
{
//check if the values are in session.
//If so, remove them and use them to bind the grid.
}
}
上述唯一的問題是,你會在你的網格失去客戶的狀態,因此,如果網格具有分頁等,用戶是第4頁最初,當上面的綁定它會回到第1頁。當用戶單擊網格中的鏈接時,您可以通過在會話中存儲狀態信息來解決此問題(假設網格導致回發,而不是直接的客戶端導航詳細信息頁面)。您可以存儲頁面#,排序列等,並在用戶返回時應用這些。
2.歷史/ JavaScript的:如果搜索的導航結構 - >詳細信息頁面是這樣的,你有一個「返回到搜索」鏈接的詳細信息頁面上,你有信心,只是時間的細節頁面加載是通過搜索 - >細節,然後你可以依靠javascript退一步在歷史中。我相信瀏覽器會保留上一頁(搜索頁面)的狀態,並允許用戶繼續使用它。
鬆散實施例(細節頁面標記):
<a href="#" onclick="history.go(-1);">Return to Search Page</a>
或
<a href="javascript:history.go(-1);">Return to Search Page</a>
上面是未經測試但在理論上可能工作。它將允許用戶單擊該鏈接,或者使用瀏覽器中的後退按鈕來獲得相同的效果。如果您有一個非常可控的工作流程,您可以保證該人員從搜索頁面到達詳細信息頁面,它只會在理論上起作用。
只是一些想法...
用戶如何從細節頁面回到搜索頁面?使用一些鏈接,後退瀏覽器按鈕? – 2010-03-17 15:04:45
兩者。有一個鏈接,他們也使用後面的瀏覽器按鈕 – Jango 2010-03-17 15:07:18