Je développe une application Web asp.net mvc qui utilise beaucoup jquery et le principe d'amélioration progressive.Comment initialiser un contrôle silverlight sans utiliser l'appel de service Web
J'ai un besoin pour un contrôle complexe qui a besoin d'accéder au code .net pour fonctionner (en utilisant la réflexion à travers de nombreuses classes). Les choix étaient de dupliquer ce code en javascript (auto-générer si possible), ou utiliser silverlight. Je vais avec l'option Silverlight (au moins pour V1).
La version pré-silverlight de mon contrôle commence comme certains éléments html simples qui sont modifiés par jquery dans la version plus riche. Cependant les exemples que j'ai vus des contrôles silverlight tous rappellent au serveur une fois que la page a chargé pour obtenir leurs données. Ou, si cette donnée est simple, elle utilise le paramètre initParams.
Mes données d'initialisation sont beaucoup plus compliquées que je pense que les initParams peuvent fonctionner et je ne veux pas rappeler au serveur car j'ai déjà ces données.
Alors, quelles sont mes meilleures options?
Merci pour votre réponse. Sérialiser un objet dans une chaîne pour le mettre dans l'objet Silverlight en tant qu'attribut fonctionnerait mais cela me semble un peu bizarre. Est-ce une pratique courante? Je ne m'inquiétais pas vraiment de la temporisation du rappel, mais simplement du fait que je retire des données de la base de données, que je les place sur une page Web et que je les enrichis ensuite sur le client. Je ne veux pas casser ce modèle juste pour un contrôle? La méthode javascript était l'endroit où je regardais, je voulais juste savoir ce qui était couramment fait ou si je manquais quelque chose. –
@Chris: Il est difficile de définir ce qui est "commun" puisque SL est relativement nouveau et évolue encore rapidement. Cependant mettre de grandes quantités de données dans initParams a une "mauvaise odeur" à ce sujet, je ne le ferais pas moi-même. Ce qui pourrait être plus typiquement (si une telle chose existe déjà) dans votre scénario est une page HTML AJAX qui s'enrichit d'un plugin Silverlight. Dans les deux cas, la demande de données se produit séparément du chargement du code de présentation et partagerait probablement un service commun fournissant les données. – AnthonyWJones
La sérialisation de l'objet dans initParams n'est pas une pratique courante, c'est juste une option. initParams est conçu pour les choses de base que votre contrôle Silverlight doit absolument commencer. Personnellement, je préfèrerais me fier à l'appel de webservice mentionné ci-dessus, que ce soit directement à partir du contrôle silverlight ou d'ajax et d'un pont javascript. – slugster