【问题标题】:Set session string from input value onfocusout从输入值 onfocusout 设置会话字符串
【发布时间】:2020-01-04 18:26:59
【问题描述】:

我正在尝试在输入的onfocusout 事件上设置一个会话变量,即刚刚输入该输入的内容。

我已经尝试过直接的 javascript 即。

var e = document.getElementById("Supervisor"); sessionStorage.setItem('_Supervisor', e);

虽然回发后不会保留该值。

<input value="@HttpContext.Session.GetString("_Supervisor")" id="Supervisor"
    class="form-control" onfocusout="UpdateSuper()" />

<script language="javascript">
    function UpdateSuper()
    {
        @{HttpContext.Session.SetString("_Supervisor", getElementById('Supervisor').value);};
    }
</script>

我可能会因为尝试组合两种不同的方法而感到困惑,但我正在寻找一种快速有效的方法来设置此值而无需回发。

【问题讨论】:

  • 那是网络矩阵吗?我不太熟悉,但你有没有看过Page Methods? (ASP.NET AJAX 的一部分。过时但适用于使用来自 javascript 的代码。)
  • JavaScript sessionStorage 是客户端,HttpContext.Session 是服务器端。他们不碰
  • 你不能在一些 JavaScript 事件处理程序中运行这样的服务器端代码。除非您主动向服务器发送新请求(例如使用 AJAX),否则您通常无法与服务器端交互。 – 服务器将只呈现 HTML,然后您有一个固定的源被发送到客户端,并在那里执行。只需在您的浏览器中查看源代码,看看最后是什么 (CTRL+U)。

标签: javascript c# session asp.net-core


【解决方案1】:
猜你喜欢
  • 1970-01-01
  • 2012-08-14
  • 2015-06-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-01-06
  • 1970-01-01
  • 2020-01-19
相关资源
最近更新 更多