torsdag 8 november 2012

.Net using Javascript/ASMX-Webservice

Snabb demo av hur javascript och WebService(asmx)-anrop funkar i .NET

Fil Demo.asmx

 namespace TestProject.AsmxServices  
 {  
   /// <summary>  
   /// Summary description for Demo  
   /// </summary>  
   [WebService(Namespace = "http://tempuri.org/")]  
   [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]  
   [System.ComponentModel.ToolboxItem(false)]  
   [System.Web.Script.Services.ScriptService]  
   public class Demo : System.Web.Services.WebService  
   {  
     [WebMethod]  
     public string HelloWorld()  
     {  
       return "Hello World";  
     }  
   }  
 }  


På samma ASPX-sida som du kommer ha ditt javascript, behöver du lägga till en ScriptManager:

 <asp:ScriptManager runat="server">  
 <Services>  
 <asp:ServiceReference Path="/AsmxServices/Demo.asmx" />  
 </Services>  
 </asp:ScriptManager>  

För denna demo lägger jag till en SPAN-tagg där resultatet från anropet kommer visas:

 <span id="asmxOutPut" style="font-weight: bold;"></span>  


Själva javascriptanropet kan nu göras på följande sätt:

 TestProject.AsmxServices.Demo.HelloWorld(_onCallbackSuccess, _onRequestFailed);  
 function _onCallbackSuccess(result, userContext) {  
  document.getElementById('asmxOutPut').innerHTML = result;  
 }  
 function _onRequestFailed(result, userContext) {  
  alert('Request failed');  
 }  

Inga kommentarer:

Skicka en kommentar