我希望有人會幫助我,我拉出我的頭髮過去幾個小時......!訪問javascript和C#本地存儲,asp.net
我使用asp.net web表單用C#
我已經在我的菜單下面的按鈕,此按鈕會打開一個頁面,列出經紀人選擇屬性...
htmlCode.Append("<button type='button' class='btn btn-basic' id='btnEnquire' onclick='openEnquiryPage()'> <span class='glyphicon glyphicon-th-list'></span> View my list </button>");
function openEnquiryPage() {
location.href = "EnquiryPage.aspx";
//get the list from the storage into the hidden field
//getListOfProperties();//not in use...
}
名單存儲在localStorage的爲JSON,我可以看到頁面
var retrievedData = localStorage.getItem("propertyArray");
proplist2.value = retrievedData;
宣佈在文本框中正確的數據在asp.net控制遵循
<asp:TextBox ID="TextBox1" runat="server" Text="initial"></asp:TextBox>
但在隱藏字段,該數據始終= 「」
<asp:HiddenField ID="txtPropList" runat="server"></asp:HiddenField>
JavaScript來填充隱藏字段...
function getListOfProperties() {
document.getElementById("body_content_txtPropList").value = retrievedData;
var proplist2 = document.getElementById("body_content_txtPropertyList");
proplist2.value = retrievedData;
}
當我調試在以下幾行後面的代碼...
Page.ClientScript.RegisterStartupScript(this.GetType(),"prop", "getListOfProperties();",true);
_propertyListJson = txtPropList.Value;
propertyListJson我總是=「」
感謝您提前。
爲什麼你不使用的:var myHidden =的document.getElementById( '<%= txtPropList.ClientID%>'); ,而ClientIDMode是靜態的。 –
後面的代碼運行在服務器端,javascript運行在客戶端。如果您希望服務器訪問客戶端數據,則必須從客戶端向服務器發送客戶端數據。據服務器知道,它將是一個空字符串,因爲它創建了空表單。一個例子是,一位經理給員工一張表格,讓他們回到辦公桌前填寫,員工只是這樣做,但保留在辦公桌前。經理對錶格的最後一次瞭解是空白數據,他不能奇蹟般地知道員工將表格放回表格之前的狀態。 –
謝謝您的輸入...嘗試一些想法,將重新發布。 – user1319463