2013-10-17 25 views
0

我在VB.net/asp新的和正在運行在一個名爲IronSpeed設計師一個可視化的數據庫程序的VB Web應用程序。在這種情況下,我主要使用IronSpeed作爲其登錄/角色安全功能。保持高速緩存的瀏覽器數據/瀏覽器爲後面的下拉列表中單擊

我有這個程序,一個基本的兩頁的設置。用戶登錄然後被帶到AccountEntry.aspx,他們將數據輸入到文本框中並選擇一些鏈接到sql數據庫的下拉值,然後他們單擊「submit」移動到Results.aspx。在Results.aspx上,用戶可以更改數據,然後生成幾種類型的報告(PDF,Excel等)。

我已經習慣了建立內部ASPContent領域ASP的控制,並在這些地區,如果用戶進行瀏覽器的後退點擊先前輸入的數據仍將是潛在用戶修改在頁面上。

但是,在這個Web應用程序,IronSpeed正在建立的頁面和ASP控件的ASP更新面板內。它出現在一個asp更新面板中,緩存值在瀏覽器後面不能被看到。在這種情況下,如果用戶前進到Results.aspx,然後單擊瀏覽器以修改AccountEntry.aspx上的值,那麼爲用戶體驗始終輸入的值仍然存在很重要。

如果非要我會設置會話變量,並禁用瀏覽器點擊,但是那是不得已而爲之。有沒有辦法將緩存的數據保存在asp更新面板中,並讓它在瀏覽器中點擊?

回答

1

你能做的就是創建一個類,用你的表單數據和 其存儲在瀏覽器會話中填充它的最好的。

Public Class Navigation 
    Property Data1 as string 
    Property Data2 as string 
    Property ComboValue as string 
    Property WhateverDesiredValue as string 
End Class 

將用戶數據保存到類中並保存在Session中。

Dim myNavitadionClass as new PreviousNavigation With { .Data1="" 'Assign values } 
Session("PreviousNavigation") = myNavitadionClass 
'Submit the form. 

Then when you came again to the form you check the page_load event. 

If Not Session("PreviousNavigation") is Nothing Then 
      Dim myClass as Navigation = Ctype(Session("PreviousNavigation"),Navigation) 
End If 

然後你可以完全按照原樣填寫表格。