繁体   English   中英

如何从Javascript中的alert()分配一个值给asp.net会话,Cookie,应用程序或其他,以将该值传递给asp.net中的下一个Web表单?

[英]How to assign a value from prompt() in Javascript to asp.net Session, Cookie, Application, or any to pass that value to the next web form in asp.net?

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

<script type="text/javascript">    
   function passJsValueFromPromptBoxToAspWebForm() {

       var input = prompt('Enter a value here: ');

       '<%Session["value"] = "' + input + '"; %>';
   }
</script>

只要我可以存储该输入值以将其传递到ASP.NET中的第二个Web表单,它就可以是Session,Cookie,Application或Context。 我需要在另一个Web表单中使用该输入值。

上面的Session [“ value”]仅将字符串'+ input +'传递给下一个Web表单,而不是来自hint()框的输入值。 任何想法? 谢谢。

您不能直接执行此操作,因为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();
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM