我在 ASP.NET C# 的第一个 Web 表单中有此脚本
<script type="text/javascript">
function passJsValueFromPromptBoxToAspWebForm() {
var input = prompt('Enter a value here: ');
'<%Session["value"] = "' + input + '"; %>';
}
</script>
它可以是 session 、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();
}
关于javascript - 如何将 JavaScript 中的提示()中的值分配给 ASP.NET session 、Cookie、应用程序或任何将该值传递到 ASP.NET 中的下一个 Web 表单?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26942090/