0

是否可以从 javascript(Session / ViewState) 设置值并在 C# 中获取值而不使用隐藏字段?


它的工作是存储来自 javascript 的值,并且可用于在 C# (page.request["Token"]) 中获取值,但它对我不起作用,因为有一个回发操作“form.submit();”

 function setToken(Token) {
    try {
        var form = document.createElement("form");
        var field = document.createElement("input");
        field.setAttribute("type", "hidden");
        field.setAttribute("name", 'Token');
        field.setAttribute("value", accessToken);
        form.appendChild(field);
        document.body.appendChild(form);
        form.submit();
    } catch (err) {
    }
}
4

1 回答 1

0

如果您想将客户端代码中的值提交到服务器端代码,则需要在某种请求中提交它。表单发布是一种方式,但如果您不希望页面重新加载,它同样可以是 AJAX 请求:

function setToken(accessToken) {
   $.post('/SetToken', { Token: accessToken });
}

在那里使用 jQuery,因为它将为您节省很多让 AJAX 在浏览器中以相同方式工作的麻烦。

在示例中,我向名为 的页面发布请求,该页面/SetToken可以是您网站中的任何 url,您可以在其中包含可以更新令牌的代码。您自己的示例提交了一个没有 的表单action,这意味着它将提交到当前页面。你也可以轻松做到这一点

$.post(location.href, { Token: accessToken });
于 2013-07-03T06:05:33.110 回答