Webservice aus JavaScript aufrufen
1. Webservice muss als ScriptService deklariert werden
[GenerateScriptType(typeof(CustomObject1))]
[GenerateScriptType(typeof(CustomObject2))]
[ScriptService]
public class MyWebService : System.Web.Services.WebService
{
...
}
2. Data TransferObjects werden als Scriptobjeckte eingebunden
[GenerateScriptType(typeof(CommercialTeaserSettings))]
3. Auf der Page oder im Control muss der Webservice als ScriptReference registrierert werden, um diesen zu nutzen. Bei Controls z.B. im Event OnInit
ScriptManager.GetCurrent(Page).Services.Add(new ServiceReference("/Web/CompileResources/Services/MyDwsService.asmx"));
4. Aufruf z.B. in einer gekapselten Funktion im JavaScript
function commitMyDwsTeaser(widgetID)
{
if (widgetID != '' && widgetID != 'undefined' &&
typeof (Dws) != 'undefined' && Dws.Core.Data.WebService.MyDwsService)
{
this._myDwsService = new Dws.Core.Data.WebService.MyDwsService();
var customObject = new Data.WebService.MyWebService.DataTransferObject.CustomObject1();
CustomObject1.CommerialWebTeaserGuid = widgetID;
CustomObject1.IsRead = true;
this._myService.WebserviceAction(customObject);
}
}
Hilfreiche Links:
Posted: Juni 8th, 2010 under .Net C#.