Javascript函数使用后面的代码调用onPageLoad而不是onClick
Javascript function using code behind called onPageLoad instead onClick
我有一个HTML按钮,onClick应该调用两个函数:
<input id="btnLogout" onclick="test();SaveAndNavigate('logoff.aspx');" type="button">
在函数test()中,我只需要在.txt文件(在服务器端)中写入/追加用户名。txt文件是一个日志文件,我想要跟踪当前用户何时注销。
功能测试为:
function test()
{
<%
LogUserSession("User: "+ System.Web.HttpContext.Current.ApplicationInstance.Session.SessionID.CurrentUser +" logged out on: " + System.DateTime.Now );
%>
}
当我用按钮加载页面时,该函数在pagload而不是onClick事件时立即执行。由于我需要实现的是已经全部实现的codeBehind功能"LogUserSession",我想避免不得不开发jQuery Ajax web服务或其他解决方案,如果可能的话。
否则我怎么能从javascript附加文本信息到现有的。txt文件?
您的LogUserSession()是一个服务器端函数,当您的页面(包含您提供的摘录)在服务器端生成时执行。它不是作为页面的onPageLoad事件的一部分执行的(即在客户端)。
基本上你想要的是从logoff.aspx调用LogUserSession()函数。
如果您的SaveAndNavigate()函数工作,那么这应该是您在btnLogout中所需要的。如果不想使用AJAX进行调用,则需要有一个提交到logoff.aspx的表单。或者甚至只是一个链接到它,如果它处理GET请求。
如果我理解正确,这是一个服务器端功能,你想运行。来自客户端,但由于服务器在将代码发送到浏览器之前对其进行了解析,因此在页面到达浏览器之前就发生了。我认为ajax是你最好的选择。
<% %>之间的代码在生成页面时在服务器上运行。这实际上发生在浏览器事件获取page之前。
我建议您将登出的登录移到"注销"中。aspx页面"。
一种方法是(未验证):
1)创建一个名为Logout的页面。在页面加载事件中调用/实现LogUserSession方法的功能。
2)在页面上添加一个img元素,宽度=0,高度=03)在测试javascript函数中,将img的src属性分配给Logout.aspx.
即:
<img id="logoutImg" width=0 height=0 style="display:none"/>
.
.
.
function test(){
document.getElementById("logoutImg").src = ("Logout.aspx?_rnd" + new Date());
}
- 如何使jQuery插件函数可调用以供独立使用,而不在集合上操作
- D3在一个调用中绘制不同的SVG形状,没有可见性
- 如何从Java/scala调用js美化程序
- 如何调用这个匿名 JavaScript 函数
- 如何从模块链中调用函数.导出到节点中
- 我需要从php调用javascript或jquery
- Chrome开发工具(如何知道我在调用哪个javascript对象)
- 单击按钮后如何逐个调用分区,上一个分区将隐藏
- 另一个ajax调用中的Jquery ajax调用在for循环中没有按预期工作
- Twitter Bootstrap typeahead:使用“this”获取上下文/调用元素
- node.js:setInterval()正在跳过调用
- 如何在单击复选框后调用控制器方法
- 如何在JQuery函数中定义一个值,然后调用另一个函数并使用该值
- 使用Google Visualization动态调用构造函数
- 如何在webView,Android中从@JavascriptInterface方法调用Javascript
- 是否可以将一个函数输入连接到另一个函数调用的文本
- 调用函数内部的函数
- 函数未在Object.keys或Object.getOwnPropertyNames下列出,但可以调用
- Javascript/jQuery中的并行Ajax调用
- Javascript函数使用后面的代码调用onPageLoad而不是onClick