2013-05-07 47 views
0

我正在創建一個頁面,允許用戶從服務器上的現有列表中刪除值,然後將新列表(刪除值)保存到服務器。將頁面上的值保存到服務器

我已經得到正確的值的JavaScript函數,我只是無法獲得更新列表回到服務器。爲了保持精益,我有viewstatemode =「disabled」。

我見過從客戶端執行javascript的各種方法。

我想知道的是,是否有可能會有一個按鈕調用JavaScript函數,獲取它返回的值(或保存在某個字段中的某個字段),在頁面通過OnInit,OnLoad函數之前?

回答

0

我不想看起來像驢,​​並回答我的問題,但在幫助別人誰在這個蹣跚的興趣:

我解決這個問題的方法是使用的OnClientClick asp:Button控件的屬性。這允許你調用一個客戶端的javascript函數(顯然),但更重要的是它允許你在頁面生命週期開始之前執行代碼。

<asp:Button runat="server" ID="btnSave" Text="Save" onclick="btnSave_Click" OnClientClick="saveCurrentList();" /> 

saveCurrentList();是一個javascript函數,我在我的aspx頁面的頭部收集了頁面上的值(已經被javascript修改,以及爲什麼我需要在頁面回發之前發生這種情況)。我將它保存在一個字段中(使用jQuery)並使用它的val()保存在字段中;方法:

function saveCurrentList() { 
     var list = $("#currentList a").map(function() { 
      return $(this).text(); 
     }).get(); 
     $("#hdnCurrentList").val(list.join(",")); 
    } 

使用這些技術,我可以JavaScript的回發前的值保存到一個隱藏字段,然後檢索這些服務器端進行處理。

1

創建像下面

<input type="hidden" ID="hfid" /> 

從JavaScript設置的值隱藏字段

document.getElementById("hfid").value = "value to set"; 

你可以從服務器像下面

string fromclient = Request.Form["hfid"]; 
+0

這不是真的回答這個問題,只是對這個話題的其他答案重新審視。此外,它不工作;不知道是不是因爲我禁用了ViewState,並且它已啓用或未啓用... – BrDaHa 2013-05-08 01:09:20

+0

進一步研究它,之所以沒有起作用,是因爲當它應該是小寫字母時值大寫值:否則值只需在隱藏的字段對象中創建一個新變量:[參考](http://stackoverflow.com/questions/2687014/setting-hidden-input-value-in-javascript-then-accessing-it-in-codebehind/2687024 #2687024) – BrDaHa 2013-05-08 01:52:14

+0

@BrDaHa是的,它應該是'value' JavaScript區分大小寫 – Damith 2013-05-08 03:27:30

0

我將與以前的答案同意訪問(即將該值存儲在隱藏字段中)。它也可以通過使用cookie(持久或非持久)來實現。問候,AB

+0

也許可以使用cookie來完成...... – BrDaHa 2013-05-08 01:21:32

相關問題