2011-10-10 56 views
0

我想在onc​​lick事件上调用一个asp函数。如何在onclick事件上调用asp函数?

<img src="..." style="cursor: pointer;" onclick="..." /> 

在这里,在onclick我想下面的函数调用:

function getproject(valuenew) 
    response.Cookies("projectname") = valuenew 
end function 

我应该怎么办呢?

+0

严重的是,拿起一个教程,读它,在你真正开始写东西。 – Rufus

+0

但是可以在onclick上调用asp函数吗?或者我们不能从客户端调用服务器端代码 - 所有服务器端代码在客户端看到响应之前完成执行。 – user985225

+1

现在你正在说的是一个真正的初学者,而不是一个完全局外人。是的,你永远不能在浏览器上运行任何服务器端代码,但你可以调用一个网页,给它一些参数并得到结果。如果你想在不刷新当前网页的情况下做到这一点,那么你必须尝试我们所说的阿贾克斯。 – Rufus

回答

0

您不必使用ASP来设置cookie,但我会给你简单的方式来执行点击元素后的ASP代码。

首先,添加隐框到你的网页:

<iframe id="ajaxFrame" src="about:blank" style="display: none;"></iframe> 
onclick

现在有这样的:

onclick="document.getElementById('ajaxFrame').src = 'PageNameHere.asp?cookievalue=Your_New_Value_Here';" 

再上一个台阶,将它添加到您的ASP代码:(顶部)

If Request.QueryString("cookievalue")<>"" Then 
    getproject(Request.QueryString("cookievalue")) 
    Response.END 
End If 

这是不是最好的做法,但作为你是初学者,这是我所知道的最简单的方式。当你获得一些经验看看真正的AJAX,最简单和最强大的是jQuery AJAX

+0

哇,为什么不显示最佳实践。这看起来像炫耀一个坏主意。 – Hogan

+1

随时以最佳实践发布新答案。我去了一些简单明了的东西,而没有使用任何库。如果OP愿意学习,我也提到*最好的做法。 –

+0

我觉得自由的影子 – Hogan

1

返回服务器设置cookie没有任何意义。您可以使用JavaScript非常轻松地设置cookie。这里有一个例子:

var expire = new Date(); 
expire.setTime(today.getTime() + 3600000*24*5); // expire in 5 days 

document.cookie="projectname=valuenew;expires=" +expire.toGMTString(); 

下面是详细信息的链接:http://www.w3schools.com/js/js_cookies.asp

相关问题