如何在 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是客户端的,你不能直接从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();
}