是否可以从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) {
}
}
答案 0 :(得分:0)
如果要将客户端代码中的值提交到服务器端代码,则需要在某种请求中提交。表单帖子是单向的,但如果您不希望页面重新加载,那么同样可能是AJAX请求:
function setToken(accessToken) {
$.post('/SetToken', { Token: accessToken });
}
使用jQuery,因为它可以为您节省很多麻烦,让您在浏览器中以相同的方式运行AJAX。
在示例中,我向名为/SetToken
的页面发布请求,该页面可能是您网站中可以更新令牌的代码的任何网址。您自己的示例提交的表单没有action
,这意味着它将提交到当前页面。你也可以很容易地做到这一点
$.post(location.href, { Token: accessToken });