我正在創建一個頁面,允許用戶從服務器上的現有列表中刪除值,然後將新列表(刪除值)保存到服務器。將頁面上的值保存到服務器
我已經得到正確的值的JavaScript函數,我只是無法獲得更新列表回到服務器。爲了保持精益,我有viewstatemode =「disabled」。
我見過從客戶端執行javascript的各種方法。
我想知道的是,是否有可能會有一個按鈕調用JavaScript函數,獲取它返回的值(或保存在某個字段中的某個字段),在頁面通過OnInit,OnLoad函數之前?
我正在創建一個頁面,允許用戶從服務器上的現有列表中刪除值,然後將新列表(刪除值)保存到服務器。將頁面上的值保存到服務器
我已經得到正確的值的JavaScript函數,我只是無法獲得更新列表回到服務器。爲了保持精益,我有viewstatemode =「disabled」。
我見過從客戶端執行javascript的各種方法。
我想知道的是,是否有可能會有一個按鈕調用JavaScript函數,獲取它返回的值(或保存在某個字段中的某個字段),在頁面通過OnInit,OnLoad函數之前?
我不想看起來像驢,並回答我的問題,但在幫助別人誰在這個蹣跚的興趣:
我解決這個問題的方法是使用的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的回發前的值保存到一個隱藏字段,然後檢索這些服務器端進行處理。
創建像下面
<input type="hidden" ID="hfid" />
從JavaScript設置的值隱藏字段
document.getElementById("hfid").value = "value to set";
你可以從服務器像下面
string fromclient = Request.Form["hfid"];
我將與以前的答案同意訪問(即將該值存儲在隱藏字段中)。它也可以通過使用cookie(持久或非持久)來實現。問候,AB
也許可以使用cookie來完成...... – BrDaHa 2013-05-08 01:21:32
這不是真的回答這個問題,只是對這個話題的其他答案重新審視。此外,它不工作;不知道是不是因爲我禁用了ViewState,並且它已啓用或未啓用... – BrDaHa 2013-05-08 01:09:20
進一步研究它,之所以沒有起作用,是因爲當它應該是小寫字母時值大寫值:否則值只需在隱藏的字段對象中創建一個新變量:[參考](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
@BrDaHa是的,它應該是'value' JavaScript區分大小寫 – Damith 2013-05-08 03:27:30