0

我有这个代码:

<a href="index.asp" onclick="<%Session("example") = True%>">LINK</a>

问题是会话示例中的此结果在加载此页面时为真,而不是在单击链接时。

我该如何解决这个问题?

4

1 回答 1

4

页面中的所有服务器代码在页面发送到浏览器之前在服务器上运行。你最终在浏览器中得到的只是:

onclick=""

如果要在浏览器中发生事件时运行服务器代码,则必须向服务器发出另一个请求。您可以回发页面并将一些信息发送回服务器(在 querystring/formdata/cookie 中),或者使用 AJAX 请求包含您要运行的服务器代码的不同页面。


编辑:

要使用查询字符串,请重新加载同一页面并将例如添加?ex=1到 URL。在服务器代码中,您可以检查并设置会话:

If Request.QueryString("ex") = "1" Then
  Session("example") = True
End If
于 2012-05-04T10:40:15.610 回答