如何在 Javascript 中将 prompt() 中的值分配给 asp.net 会话、Cookie、应用程序或任何将

本文关键字:会话 net asp Cookie 任何 应用程序 分配 中将 Javascript prompt | 更新日期: 2023-09-27 18:30:24

我在 C# 的第一个 Web 表单中 ASP.NET 有这个脚本

<script type="text/javascript">    
   function passJsValueFromPromptBoxToAspWebForm() {
       var input = prompt('Enter a value here: ');
       '<%Session["value"] = "' + input + '"; %>';
   }
</script>

它可以是会话、Cookie、应用程序或上下文,只要我可以存储该输入值以将其传递给 ASP.NET 中的第二个 Web 表单。我需要在另一个 Web 表单中使用该输入值。

上面的 Session["value"] 仅将字符串 ' + input + ' 传递给下一个 Web 表单,而不是 prompt() 框中的输入值。知道吗?谢谢。

如何在 Javascript 中将 prompt() 中的值分配给 asp.net 会话、Cookie、应用程序或任何将

你不能直接这样做,因为javascript是客户端的,你不能直接从javascript访问服务器代码,你需要执行AJAX调用来设置值,如下所示

JS代码

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"> </script> <script type="text/javascript">
    function passJsValueFromPromptBoxToAspWebForm() {
  var input =  var input = prompt('Enter a value here: ');
        $.ajax({
            type: 'POST',
            url: 'YOURFormNAME.aspx/SetSessionValue',
            data: '{ val:input  }',
            contentType: 'application/json; charset=utf-8',
            dataType: 'json',
            success: function (newValue) {
                alert("Value set in session is " + newValue);
            }
        });
    }
</script>

在 aspx 中编写以下方法.cs

[WebMethod]
public static string SetSessionValue(string val)
{
    HttpContext.Current.Session["value"] = val;
    return HttpContext.Current.Session["value"].ToString();
}