我有这段代码:
<a href="index.asp" onclick="<%Session("example") = True%>">LINK</a>
问题是会话示例中的结果在加载此页面时是真的,而不是在点击链接时。
我该如何解决这个问题?
答案 0 :(得分:4)
在将页面发送到浏览器之前,页面中的所有服务器代码都在服务器上运行。您在浏览器中最终得到的只是:
onclick=""
如果要在浏览器中发生事件时运行服务器代码,则必须向服务器发出另一个请求。您可以回发页面并将一些信息发送回服务器(在querystring / formdata / cookie中),或者使用AJAX请求包含您要运行的服务器代码的不同页面。
要使用查询字符串,请重新加载同一页面,并将例如?ex=1
添加到URL。在服务器代码中,您可以检查并设置会话:
If Request.QueryString("ex") = "1" Then
Session("example") = True
End If