2010-01-11 46 views
1

我已經實現了使用客戶端函數調用來調用服務器端函數的AJAX,即使用javascript中的PageMethod調用服務器端函數。AJAX/Javascript PageMethod.FunctionName,試圖使這個代碼在ASP.NET中可重用

我對於同樣的實現有幾個問題。

 function OnBlurCall() 
     { 
     chk(ControlId, SpanMsgId, FunctionName)// where all these parameters are obtained from programmer. 
     } 

    function chk(ControlId,SpanMsgId, FunctionName) 
    { 
    PageMethods.FunctionName(ControlId.value,onSuccess,onFail,SpanMsgId); // I want to replace actual value of FunctionName i.e Something given below 
    PageMethods.CheckUserNameAvailability(ControlId.value,onSuccess,onFail,SpanMsgId); 
    } 

    function onSuccess(result,MsgId,methodname) 
    { 
     MsgId.innerHTML=result; 
    } 

    function onFail(error,MsgId,methodname) 
    { 
      MsgId.innerHTML=error; 
    } 

問題1.我可以添加多少個參數到這個函數。是否有一些限制,我只能發送3個參數。請詳細說明它的工作原理。

問題2我想在JavaScript中製作上面的代碼reusabe,以便將所有3個函數添加到母版頁中。但問題是,我現在可以在javascript中添加兩個函數。但是對於添加第三個函數,我必須發送函數名稱作爲參數。

PageMethods.FunctionName(ControlId.value,onSuccess,onFail,SpanMsgId); 

此FunctionName將是開發人員想要調用的服務器端函數的名稱。 我可以做到這一點。 ?

回答