2008-11-05 4 views
0

Par exemple:Comment faites-vous un contrôle ASP.NET parler à une application Silverlight sur la même page en C#

D'abord, dire que j'ai une application Silverlight avec Windowless = true pour que je puisse placer ASP.NET contrôles au-dessus de celui-ci. Ensuite, je place un bouton ASP.NET sur la page. Comment puis-je dire que le texte d'un contrôle dans l'application Silverlight change lorsque l'utilisateur appuie sur le bouton ASP.NET? Comment envoyer un message de mise à jour à l'application Silverlight à partir du code C# qui intercepte le clic du bouton ASP.NET?

Merci, Jeff

Répondre

1

D'après ce que je peux dire, en fonction de votre question, l'application Silverlight est en cours d'exécution dans un navigateur Web et vous l'avez intégré dans une page asp.net? Le code pour le bouton asp.net que vous faites glisser sur la page vit sur le serveur et est envoyé au navigateur Web en tant que html. Lorsque vous cliquez sur le bouton de la page, il renvoie les données du formulaire au serveur qu'ASP.NET interprète et appelle le code de votre bouton. Comme ce code s'exécute sur le serveur, il ne peut pas accéder à l'application Silverlight. Si vous avez vraiment besoin d'interagir avec l'application Silverlight directement sur le client, vous utiliserez javascript dans le navigateur.

Voici un exemple de base: http://blogs.vertigo.com/personal/ralph/Blog/archive/2008/05/15/call-silverlight-from-javascript-call-javascript-from-silverlight.aspx

1

De mémoire, vous devez exposer un membre scriptable de votre application silverlight, par exemple:

[ScriptableMember()] 
public void ChangeText(string newText) 
{ 
    // Update your text control here 
} 

et l'enregistrer pour les scripts de javascript dans le constructeur :

public MySilverlight() 
{ 
    InitializeComponent(); 
    HtmlPage.RegisterScriptableObject("MyObject", this); 
} 

Vous pouvez ensuite l'appeler depuis javascript as; Ensuite, connectez simplement le clic client du bouton pour appeler la méthode ChangeText javascript.

Espérons que cela aide.

Questions connexes