我在Asp.Net上有一个表格,有3页,下一页是下一页按钮。 到目前为止我在C#中所做的是我创建了这样的会话:
Session["FirstName"] = txtFirst.Text;
Session["LastName"] = txtLast.Text;
我所做的就是在Next按钮上我调用了一个javascript函数,我尝试访问这些会话:
<script type="text/javascript">
var fn = '<%=Session["FirstName"]%>';
var ln = '<%=Session["LastName"]%>';
</script>
但是它不起作用,当我调试它时,它正是我们在引号内输入的内容:http://prntscr.com/ag3wdo
答案 0 :(得分:1)
该语法:<%=Session["FirstName"]%>
是一种特殊的asp.net语法。它需要在服务器上处理,在那里它被该会话值的值替换。只有这样才能将其发送到浏览器。
一些重要的注释:
<%= ... %>
语法答案 1 :(得分:0)
您需要将该脚本直接放在aspx页面(而不是.js文件)中,或者您需要在aspx页面中的脚本中设置变量的值。
或者,你可以发送要由.NET引擎评估的js文件(创建一个处理程序),但这不是一件好事,作为一般规则,因为它会处理所有js文件并在你的地方增加开销不需要它。
最后,您可以在隐藏字段中设置值,然后通过javascript访问。见Accessing Asp.Net Session variables in JS
答案 2 :(得分:0)
这些代码很可能位于.js
文件中,而不是aspx
或ascx
页面。这些标记仅适用于这些扩展。 Javascript文件按原样发送。
你可以做一些事情:
ashx
处理程序加载文件并手动替换会话标记。