将页面上的值保存到服务器

Saving values on page to server

本文关键字:保存 服务器      更新时间:2023-09-26

我正在创建一个页面,允许用户从服务器上的现有列表中删除值,然后将新列表(删除值)保存到服务器。

我有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在回发之前将值保存到一个隐藏字段,然后在服务器端检索它们以进行处理。