2014-02-24 85 views
2

如何在頁面刷新(F5)中保留隱藏字段的值。我在一個方法上設置hiddenfield上的值。基於這個價值,我展示並隱藏了Div。但是我想在刷新時保持頁面的可見性。如何在頁面刷新時保留隱藏字段的值(F5)

爲此,我使用隱藏字段,但在刷新頁面時,值不會保留在隱藏字段中。

if (some condition) 
{ 
    divCtrlSave.Visible = true; 
    hdnDivShowAlert.Value = "true"; 
} 
else 
{ 
    divCtrlSave.Visible = false; 
    hdnDivShowAlert.Value = "false"; 
} 

,現在我已經在頁面加載檢查以下內容:

if (hdnDivShowAlert.IsNotNull() && hdnDivShowAlert.Value=="true") 
{ 
    divCtrlSave.Visible = true; 
} 
else 
{ 
    divCtrlSave.Visible = false; 
} 
+0

你有沒有瞪大眼睛它... ??? –

+0

是的,我已經用Google搜索它之前發佈到stackoverflow ... –

+0

我不知道,但你可以使用html5本地存儲 – midstack

回答

2

要麼你可以將它保存到HTML5localStorage或Session或cookie。你沒有任何其他的選擇對付魔鬼F5刷新...

要將它存儲在會話中,你可以像下面一樣使用它。

Session["Value"]= Yourvalue; 

存儲在localStorage使用下面的代碼段。

var key = $("#key").attr('value'); 
var value = $("#value").attr('value'); 
localStorage.setItem(prefix + key, value); 

解釋JSFIDDLE

希望它可以幫助

0

如果你想具體到客戶端使用cookie或會話有價值的東西。

如果您正在尋找特定於服務器的某些內容,請使用靜態類,應用程序或緩存值。

+0

我不能使用會議,viewstate和餅乾是我的最後一個選擇,你有任何其他想法... –

0

U可以在客戶端使用JS的網絡存儲,它看起來就像是:

<script> 
    if (some condition) 
    { 
     sessionStorage.setItem('divCtrlSave',true); 
     sessionStorage.setItem('hdnDivShowAlert',true); 
    } 
    else 
    { 
     sessionStorage.setItem('divCtrlSave',false); 
     sessionStorage.setItem('hdnDivShowAlert',false); 
    } 
</script> 

,現在在頁面加載:

<script> 
    var hdnDivShowAlert_storage=sessionStorage.getItem('hdnDivShowAlert'); 
    if (hdnDivShowAlert_storage && hdnDivShowAlert_storage=="true") 
    { 
     divCtrlSave.Visible = true; 
    } 
    else 
    { 
     divCtrlSave.Visible = false; 
    } 
</script> 
0

當你談論一個頁面刷新,我假設你是在回發期間的意思。隱藏場回傳過程中保留其值,所以在代碼中的Page_Load方法後面做檢查,如:

if (IsPostBack == true) 
{ 
    if (hdnDivShowAlert.IsNotNull() && hdnDivShowAlert.Value=="true") 
    { 
     divCtrlSave.Visible = true; 
    } 
    else 
    { 
     divCtrlSave.Visible = false; 
    } 
} 
+0

我不是在談論回傳...是的,我知道在回發期間值保留...但在我的情況下,我打F5(刷新),並沒有做任何回發... –

+1

回傳和f5之間有一個區別刷新... –

相關問題