2 votes

Appeler une bibliothèque javascript depuis ASP.NET

Il s'agit d'une question de débutant, j'en suis sûr. Je cherche à remplacer notre bibliothèque graphique côté serveur par la bibliothèque javascript open source 'flot'. Je peux utiliser ASP dans le javascript utilisé pour appeler la bibliothèque comme dans l'exemple suivant

<div id="placeholder" style="width: 600px; height: 300px;">
</div>
<script type="text/javascript">
    $(function () {
        var d = [<%
        for (var i = 0; i < 10; i++) {
            if(i > 1)  
                Response.Write(",");  

            Response.Write("[" + i + "," + Math.Sin(i) + "]");
        }%>];

        $.plot($("#placeholder"), [d]);
    });
</script>

Cela fonctionne à merveille, mais ce dont j'ai vraiment besoin, c'est d'afficher des données provenant d'une méthode dans mon fichier code behind (et finalement d'une base de données). Une recherche rapide sur Google suggère que je dois utiliser AJAX pour y parvenir, mais j'aimerais le faire au chargement de la page.

Il me semble que c'est quelque chose qui devrait être simple à faire, mais je suis relativement novice en matière de développement web (je suis développeur Windows forms de métier et certifié par MS, donc je connais bien le langage C#).

Toute aide ou indication serait grandement appréciée.

Santé,

Neil.

1voto

Ralph Lavelle Points 2643

D'une manière très générale, vous pourriez envisager d'utiliser les éléments suivants jQuery AJAX pour appeler une page "code-behind" afin de générer votre variable "d", puis lorsque celle-ci revient du serveur, l'utiliser dans votre déclaration $.plot($("#placeholder"), [d]) ;.

Vous pouvez créer une classe de traitement, par exemple "GenerateData.ashx", qui récupère des données de la base de données, et Response.Write() les restitue sous la forme d'une liste d'objets. i y Sin(i) les valeurs

$(function () {
    $.ajax({
        url: "GenerateData.ashx",
        success: function(data){
            $.plot($("#placeholder"), data);
        }
    })
};

Quelque chose comme ça...

0voto

tjrobinson Points 3408

Ce n'est pas nécessairement la meilleure solution, mais vous pourriez générer le JavaScript dynamiquement sur le serveur pendant le chargement de la page.

Ce serait un bon point de départ : MSDN : Méthode ClientScriptManager.RegisterClientScriptBlock

0voto

Riky Points 315

Vous pouvez appeler une fonction C# dans votre code Java script en utilisant :

<%# C#_FunctionName(parmVal1,ParamVal2) %>

il renvoie la valeur de retour de la fonction C# ou exécute la fonction C#.

Gracias

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X