2010-03-04 6 views
0

J'ai une méthode javascript ressemble à ceciExécuter une méthode ASP.net de méthode JavaScript

JSMéthode (JS_para_1, JS_para_2) { ...... ,,,,, }

et moi avons une méthode ASP.NET comme celui-ci

ASP_Net_Method (ASP_Para_1, ASP_Para_2) { .... ,,, }

Maintenant, je veux appeler cette ASP_Net_Method de mon JSMéthode en passant des paramètres là-bas ..

Répondre

2

Pour être clair:

  • Votre javascript est exécuté par le navigateur de l'utilisateur sur l'ordinateur portable de l'utilisateur
  • Votre méthode ASP.NET est exécuté sur votre serveur

Alors, ce que vous probablement vouloir faire est d'envoyer un message du navigateur au serveur en disant "Hey, exécutez cette méthode et donnez-moi le résultat". Si vous faites du développement ASP.NET traditionnel (pas ASP.NET MVC), je pense que l'approche normale serait de créer une page ASPX qui, lorsqu'elle est demandée, exécute la méthode que vous voulez exécuter. Ensuite, dans votre javascript, il vous suffit de demander cette page. Pour ce faire, vous pouvez utiliser jQuery (jQuery ajax, jQuery get ou jQuery post). Vous aurez besoin de download the jQuery library et l'inclure dans votre page pour que cela fonctionne.

Essayez-le et si vous n'arrivez pas à le faire fonctionner, revenez pour des conseils plus précis.

EDIT: Vous pouvez également jeter un oeil à ASP.NET AJAX. La page d'accueil a beaucoup de tutoriels et de vidéos.

0

Qu'est-ce que vous voulez vraiment faire est d'exécuter du code côté serveur (parfois appelé « code-behind », qui était le terme I utilisé pour googler ceci.) de javascript.

Ce message présente plusieurs options. Les meilleurs sont vers le bas.

http://forums.asp.net/t/1059213.aspx

0

Fondamentalement, chaque fonction qui déclenche un événement côté serveur utilise une méthode javascript appelé __doPostBack et here is an example de ce que vous voulez faire.

0

PageMethods Ajax est très utile pour cela si vous ne voulez pas effectuer une publication complète et que vous avez juste besoin d'appeler une méthode.

D'abord, je décorer une méthode dans mon aspx.cs fichier comme ceci:

[System.Web.Services.WebMethod] 
     public static string getVersions(string filePath) 
     { ... 
      return myString; 
     } 

Notez que le « statique » aussi.Puis, en javascript je peux appeler cela comme:

PageMethods.getVersions(_hfFilePath.value, LoadVersionsCallback); 

Vous pouvez avoir autant de paramètres que vous avez besoin de différents types de données. Le dernier paramètre est la fonction JavaScript qui est appelée lorsque l'appel est renvoyé. On dirait quelque chose comme:

  function LoadVersionsCallback(result) { 
    ... 
    // I make a drop down list box out of the results: 
    parts = result.split('|'); 
    for (var i = 0; i < parts.length; i++) { 
      _ddl.options[_ddl.options.length] = 
       new Option(parts[i].replace(/~/g, ", "), parts[i]); 
       } 
... 
} 

Enfin, vous devez avoir les gestionnaires de script propriété "EnablePageMethods" à "true".

  <ajaxToolkit:ToolkitScriptManager ID="ScriptManager1" 
     runat="server" EnablePageMethods="true" 
       EnablePartialRendering="true" 
    OnAsyncPostBackError="ScriptManager1_AsyncPostBackError"> 
      </ajaxToolkit:ToolkitScriptManager> 

Depuis JavaScript, vous pouvez appeler une fonction statique sur le code derrière votre page.

Questions connexes