2016-11-21 2 views
-1

Je développe un addon IE en utilisant C#. J'ai des fonctions javascript dans un fichier js. J'ai besoin de joindre le fichier js à C# et d'appeler les fonctions js à partir de C#, envoyer la valeur à js et il doit retourner une valeur.Ajouter un fichier js et appeler une fonction js à partir de C#

JS fichier - sample.js:

function sample (str) { 
    //js code 
} 

C# Fichier:

private void button1_Click(object sender, EventArgs e){ 
    //Need to call sample(str) and pass 'str' value to the js function. 
} 

PS: J'ai essayé le code ci-dessous mais obtenir référence d'objet non définie à l'instance d'un objet

Page page = HttpContext.Current.CurrentHandler as Page; 
page.ClientScript.RegisterClientScriptInclude("sample","sample.js"); 
page.ClientScript.RegisterStartupScript(typeof(Page),"Test","<script type='text/javascript'>sample('str');</script>"); 
+0

Copie possible de [Qu'est-ce qu'un NullReferenceException, et comment puis-je le réparer?] (http://stackoverflow.com/questions/4660142/what-is-a-nullreferenceexception-and-how-do-if ix-it) – mybirthname

+0

Merci. Mais pouvez-vous suggérer un code de travail pour le cas ci-dessus? Quel est le problème dans le code? – abby

Répondre

0

Actuellement, votre application ASP.Net doit être d'appeler votre rappel C#:

<asp:Button ID="button1" runat="server" Text="Do something" onclick="button1_Click" /> 

Une façon de résoudre ce problème est d'ajouter simplement un attribut OnClientClick:

<asp:Button ID="button1" runat="server" Text="Do something" onclick="button1_Click" OnClientClick="sample('someValue');" /> 

Tout dépend où cette "str "valeur de paramètre vient de, que vous voulez passer à la fonction JavaScript ...

+0

J'utilise seulement C# et pas asp.net. Je suis en train de créer une extension de navigateur en utilisant addin express. Pourriez-vous fournir un code en C# quand je pourrais envoyer une valeur à js et il retournera une autre valeur – abby