从javascript调用方法后面的代码
本文关键字:代码 方法 javascript 调用 | 更新日期: 2023-09-27 18:11:17
我在代码后面有一个方法:
protected void myMethod()
{
Literal1.Text = System.DateTime.Now.ToString();
}
我需要每秒调用这个方法。我发现我应该使用javascript,这是我的脚本:
<script>
function test() {
// ???
}
setInterval(test, 1000);
</script>
但我不知道如何从javascript调用myMethod ?
如果您想避免服务器往返,这可能是由于网络延迟,您可以使用这样的javascript
var now = new Date();
dateFormat(now, "dddd, mmmm dS, yyyy, h:MM:ss TT");// Saturday, June 9th, 2007, 5:46:21 PM
查看http://blog.stevenlevithan.com/archives/date-time-format查看其他类型的日期格式
使用AJAX。https://developer.mozilla.org/en-US/docs/AJAX/Getting_Started这将允许您从客户机调用指定的服务器端方法。
从上面的链接:
function makeRequest(url) {
if (window.XMLHttpRequest) { // Mozilla, Safari, ...
httpRequest = new XMLHttpRequest();
} else if (window.ActiveXObject) { // IE
try {
httpRequest = new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e) {
try {
httpRequest = new ActiveXObject("Microsoft.XMLHTTP");
}
catch (e) {}
}
}
if (!httpRequest) {
alert('Giving up :( Cannot create an XMLHTTP instance');
return false;
}
httpRequest.onreadystatechange = alertContents;
httpRequest.open('GET', url);
httpRequest.send();
}
function alertContents() {
if (httpRequest.readyState === 4) {
if (httpRequest.status === 200) {
alert(httpRequest.responseText);
} else {
alert('There was a problem with the request.');
}
}
}
})();
您必须用[WebMethod]
属性修饰您的服务器端方法,并将其声明为公共和静态。http://msdn.microsoft.com/en-us/library/byxd99hx (v =应用程序). aspx
[System.Web.Services.WebMethod(EnableSession=true)]
public int GetNumberOfConversions()
{
return (int) Session["Conversions"];
}
就这么简单。
我不得不质疑从客户端到服务器每秒调用一个方法,然而。您可以单独在JavaScript中处理日期业务。我敢打赌,来回一趟对你来说不会有什么好处。