2010-02-05 4 views
0

Lorsque j'ajoute une référence de service à mon gestionnaire de scripts, toutes les classes C# requises sont générées dans le script, sauf une. Cette classe particulière est utilisée comme suit:Comment ajouter un type supplémentaire au gestionnaire de scripts ASP.NET pour que le script soit généré?

[DataContract] 
public class MyObject { 
    [DataMember] 
    public string Id { get; set; } 

    [DataMember] 
    public bool Value { get; set; } 
} 

[DataContract] 
public class MyData { 
    [DataMember] 
    public string Name { get; set; } 

    [DataMember] 
    public List<MyObject> ObjectInfo { get; set; } 
} 

[WebService] 
[ScriptService] 
public class MyService { 
    [WebMethod(EnableSession = true)] 
    public void AddNewData(IEnumerable<MyData> dataObjects) { 
    ... some code 
    } 
} 

Aucun script n'est généré pour la classe MyObject. Est-ce que je manque quelque chose d'évident?

Merci à l'avance ...

Répondre

1

Essayez d'ajouter l'attribut GenerateScriptType à votre service Web.

[WebService] 
[ScriptService] 
[GenerateScriptType(typeof(MyObject))] 
public class MyService { 
} 

Je trouve cela dans le chapitre 5 (page 157) de ASP.NET AJAX in Action.

+0

Super, ça fonctionne comme un charme! Merci pour le pointeur. –

Questions connexes