La lecture AppSettings à partir de javascript
Je suis en train de créer une fonction qui récupère un site web.config paramètres de l'application de la valeur. Cela fonctionne si je mets le code alert('<%=ConfigurationManager.AppSettings["facebookAppID"].ToString() %>')
dans le .fichier ascx directement. Mais si je l'appelle une fonction commune dans un .fichier js à partir de cela .fichier ascx (de façon à avoir une commune de la fonction globale), ça ne fonctionne pas...c'est à dire qu'il n'a pas d'évaluer la valeur, mais au lieu de cela retourne la chaîne de caractères "<%=Système.ConfigurationManager.AppSettings[\"facebookAppID\"].ToString(); %>"
Pensées, pourquoi?
function GetappId() {
var k = "<%=System.ConfigurationManager.AppSettings["facebookAppID"].ToString(); %>"
alert(k);
return k
}
- Juste posté une solution. Jetez un coup d'oeil.
Vous devez vous connecter pour publier un commentaire.
Commun .js fichiers si votre y compris comme ce script src="somescript.js" /script sont chargés sur le navigateur du client et ne sont jamais traitées sur le serveur.
Seule façon de charger les fichiers/valeurs à l'aide de javascript serait d'effectuer et de l'appel ajax vers une page aspx qui renvoie du JSON ou du texte..
http://api.jquery.com/jQuery.ajax/
Veuillez noter que ceci seulement répondre pour la section appSettings dans le web.config
J'ai créé un
.aspx
fichier appelé DynamicJs.aspx comme ci-dessous. Il va saisir la valeur de la clé de paire à partir de la appSettings et de construire une chaîne JSON.code derrière
HTML (Veuillez noter que le type de contenu, comme il émet JavaScript)
Inclure la DynamicJs.aspx en consommant de la page comme ci-dessous:
Utilisez la commande suivante pour obtenir la valeur de la configuration
Ce n'est certainement pas la façon la plus élégante de le faire, mais je pense que ce sera vous aider à obtenir ce que tu voulais.
une façon de le faire est d'utiliser un Contrôle Personnalisé à la page. Ajouter un
Web User Control (.ascx)
page de votre site web et de mettre le code de votre script dans ilmaintenant inscrire votre contrôle à la page où vous voulez que le
GetappId
fonction comme ceci** cette balise va après le
<%@ Page %>
balise dansaspx
pagepuis dans la section head de votre
aspx
page d'appeler le contrôle, comme ce** assurez-vous que vous avez
runat="server"
en vous balise d'en-têtemaintenant, vous pouvez appeler
GetappId()
et obtenir le résultat souhaité n'importe où dans leaspx
page.mise à jour - une autre solution
une autre façon est de créer un
aspx
(disons que la page estDefault1.aspx
) page sans code-behind de la page et le lieu de votre code, il ypuis, dans la page où vous voulez l'appeler GetappId ajouter le premier
aspx
page comme une page javascript.maintenant appeler votre fonction n'importe où dans la page.
Vous pourrait injecter du code javascript dans votre balisage à l'aide de la
ClientScriptManager
RegisterClientScriptBlock()
ouRegisterStartupScript()
et inclure les paramètres de votre app en ligne ou appeler une méthode et passer le réglage d'un paramètre.Une autre approche serait de rendre un champ caché et inclure votre paramètre et ensuite y faire référence dans votre code javascript.