1

Mon JS fonctionne quand je le référence dans la MasterPage, et il fonctionne quand je le référence dans une Vue Partielle (.ascx), mais pas quand je me réfère à la Vue (.aspx). Des idées pourquoi?Pourquoi ne puis-je pas référencer des fichiers JavaScript dans ma vue?

+0

Généralement, vous pouvez référencer javascript dans vos fichiers de vue comme dans tout autre que vous avez mentionné. Quel genre d'erreur js obtenez-vous? –

+0

Je n'ai pas d'erreur du tout - ce que je n'ai pas de fonctionnalité. – DaveDev

+1

Comment est-il rendu quand il atteint le navigateur? Y a-t-il quelque chose dans l'URL pour le (s) fichier (s) .js sur le fichier .aspx qui est différent des autres? – David

Répondre

2

Le chemin d'accès au fichier de script est-il correct dans votre vue?

Si vous inspectez le trafic HTTP avec quelque chose comme l'onglet Net de Fiddler ou Firebug, voyez-vous les ressources de votre script téléchargées dans le navigateur?

Vous pouvez utiliser UrlHelper.Content et le chemin relatif à rendre la source de script dans la page ou peut-être créer une méthode d'extension HtmlHelper pour rendre une balise de script pour vous (je pense que l'un existe dans MVCContrib si vous J'utilise déjà ça).

+0

Si la page maître peut l'appeler et si le fichier est inclus dans la page maître, ils doivent tous les trois pouvoir l'appeler. mais si le bloc est inclus dans chaque endroit en ligne, alors je m'attendrais à ce qu'il casse. – jcolebrand

+0

Ré-référencer le même fichier js va causer des problèmes dans le futur. Loi des conséquences non intentionnelles. – jcolebrand

+0

Je ne suggérerais pas de re-référencer le même script deux fois dans une page, car il est possible que les valeurs des variables puissent être remplacées lorsque la deuxième copie du code du script s'exécute, ce qui peut causer des problèmes. Je ne comprenais pas très bien ce que l'OP voulait dire par référence à un script, alors j'ai posté un commentaire pour obtenir des éclaircissements. –

0

Donc, si vous avez un bloc déclaré dans un fichier inclus (Feignons juste ressemble)

function alertMe(someValue) { 
    alert(somevalue); 
} 

et dans votre page maître, ASPX, et ascx vous avez

<script type="text/javascript"> 
    alertMe("some string"); 
</script> 

et cela fonctionne dans la page maître et l'ascx mais pas l'aspx?

+0

Ceci n'est pas une réponse – ggarber

+0

Non, c'est une demande de clarification de la question d'origine, qui ne comprenait PAS de blocs de code. Donc vous avez raison. – jcolebrand