2011-10-11 54 views
0

我得到上线 “对象错误”PageMethods它有什么问题?

function readWURecord() 
{ 
var ifUSD = ""; 
try 
{var mtcnNo=document.getElementById('ctl00_ContentPlaceHolder1_TxtReferenceNo').value; 
if(mtcnNo=='') 
{ 
alert('Provide Reference Number');return false;} 
var adoConn=new ActiveXObject("ADODB.Connection"); 
var adoRS=new ActiveXObject("ADODB.Recordset"); 
var filename; 
var filenamecsv1; 
fs=new ActiveXObject("Scripting.FileSystemObject"); 
filename=document.getElementById('ctl00_ContentPlaceHolder1_hdPath').value+'Trans.mdb'; 
filenamecsv1="D://Data.csv"; 
if(fs.FileExists(filename)==true) 
{ 
adoConn.Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+filename+";Persist           Security Info=True;Jet OLEDB:Database Password=tradb897"); 
} 
else if(fs1.FileExists(filenamecsv1)==true) 
{ 
PageMethods.GetCurrentTime(document.getElementById("<%=TxtReferenceNo.ClientID%>").value); 

function OnSuccess(response, userContext, methodName) 
{ 
alert("response"); 
} 

任何人可以帮助我与PageMethods.GetCurrentTime方法哪些问题?

+1

行踪是你的JavaScript持有?它是在.aspx页面中,还是在单独的脚本中? –

+0

javascript is in .js file –

+0

我们需要javascript - 而不是您的服务器端代码 –

回答

0

首先在代码中添加一些whitspace(缩进)。其次,“<%= TxtReferenceNo.ClientID%>”如果不生成文件,则不会得到解决。如果你有“.js”文件,那么它是静态的(除非你以某种方式设置它不是静态的)。

所以,你应该设置一些JS以外的变量(例如在你的ASP文件中)并在你的函数中使用它,或者使用ClientID参数或者其他方法调用readWURecord。甚至更好 - 不要在JScript中执行 - ActiveX只能在Internet Explorer中运行。