将页面上的值保存到服务器
本文关键字:保存 服务器 | 更新日期: 2023-09-27 18:12:36
我正在创建一个页面,允许用户从服务器上的现有列表中删除值,然后将新列表(删除值)保存到服务器。
我有javascript函数得到正确的值,我只是有麻烦得到更新的列表返回到服务器。为了保持简洁,我设置viewstatemode="disabled"。
我见过从客户端执行javascript的各种方法。
我想知道的是,是否有可能有一个调用javascript函数的按钮,获得它返回的值(或保存在某个字段中),所有在页面通过OnInit, OnLoad函数之前?
创建像下面这样的隐藏字段
<input type="hidden" ID="hfid" />
设置javascript的值
document.getElementById("hfid").value = "value to set";
你可以像下面这样从服务器访问它
string fromclient = Request.Form["hfid"];
我同意之前的答案(即将值存储在隐藏字段中)。它也可以通过使用cookie(持久性或非持久性)来实现。问候,AB
我不想像个傻瓜一样回答我自己的问题,但是为了帮助那些偶然发现这个问题的人:
我解决这个问题的方法是使用asp:Button控件的OnClientClick属性。这允许您调用客户端javascript函数(显然),但更重要的是,它允许您在页面生命周期开始之前执行代码。<asp:Button runat="server" ID="btnSave" Text="Save" onclick="btnSave_Click" OnClientClick="saveCurrentList();" />
saveCurrentList();是我在aspx页面头部的javascript函数,它收集页面上的值(已被javascript修改,以及我需要在页面发布之前发生的原因)。我将它保存在一个字段中(使用jQuery),并使用val()将其保存在字段中;方法:
function saveCurrentList() {
var list = $("#currentList a").map(function () {
return $(this).text();
}).get();
$("#hdnCurrentList").val(list.join(","));
}
使用这些技术,我可以让javascript在回发之前将值保存到一个隐藏字段,然后在服务器端检索它们以进行处理。