2011-10-11 56 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中運行。