2014-09-02 1 views
2

Je souhaite créer une application utilisant HTML5 comme interface utilisateur. Le code derrière doit être écrit sur C# .NetAppel des méthodes C# à partir du contrôle GeckoFX C# (winforms)

J'ai un contrôleur GeckoFX. La chose que je veux faire est quand je clique sur un bouton/élément div dans la page HTML, une méthode C# à activer.

Voici mon idée maquillée dans le code:

HTML

<div id="testBtn" onclick="doSomething()">Click for a C# generated message </div> 

C#

void doSomething() 
{ 
//does something in C# 
} 
+0

Vous pouvez faire un appel ajax au serveur. Mais la méthode devrait avoir l'attribut 'public static void ...' et l'attribut '[WebMethod]'. – PoweredByOrange

Répondre

3

Plutôt que d'ajouter le gestionnaire d'événements en utilisant javascript vous pouvez ajouter le gestionnaire d'événements en C# .

<div id="testBtn">Click for a C# generated message </div> 

C#:

browser.DomClick += (sender, args) => 
     { 
      switch (args.Target.CastToGeckoElement().GetAttribute("id")) 
      { 
       case "testBtn": 
        MessageBox.Show("does something in C#"); 
        break; 
      } 
     }; 

Maintenant, il serait agréable de pouvoir faire quelque chose comme:.

browser.Document.GetElementById ("testBtn") DomClick + = (s, a) => faire quelque chose();

Mais actuellement geckofx n'a pas cette fonction, bien qu'il serait possible d'ajouter ...

Questions connexes