2009-09-25 7 views
2

Lorsque dans une vue, au sein de MVC, et vous avez votre JavaScript, j'ai essayé de le déplacer vers un fichier JavaScript dans le même répertoire, et il rend compte qu'il ne peut pas déposer le fichier javascriptfichier MVC View et JavaScript

en tant qu'utilisateur exemple, je NerdDinner et le DinnerForm.aspx, créé un fichier JavaScript dans le même répertoire que les DinnerForm.aspx appelés DinnerForm.js et référencé dans le fichier ASPX, comme ci-dessous:

est ici la question , Je dois garder mon fichier JavaScript à proximité, sinon dans le même répertoire que DinnerForm.aspx, comment puis-je faire cela?

Je ne veux pas placer le chemin complet, par exemple: « ~ \ vues \ dîners \ dinnerform.js », car cela est juste un travail autour, et provoqueront des problèmes plus tard

Toutes les idées?

Répondre

1

fichiers JavaScript par convention doivent être placés dans Scripts du projet dossier et pourraient être liés comme

<script src="<%= Url.Content("~/Scripts/jquery-1.3.2.js") %>" 
4

Vous ne pouvez pas avoir les fichiers JavaScript dans le dossier Views car ils n'existent pas réellement dans le navigateur. Si vous regardez le fichier Web.config dans le dossier Views, vous verrez qu'il est défini sur le gestionnaire HttpNotFoundHandler. Cela signifie qu'il retourne 404 pour toutes les demandes à son dossier. Pourquoi ne pas les mettre dans le dossier Scripts? Vous pouvez toujours avoir un sous-dossier en dessous.

E.g. /Scripts/Dinner/dinnerform.js

+0

informations intéressantes sur HttpNotFoundHandler. Merci! –

+0

Oui, je comprends que vous pouvez le faire, mais il détache le code HTML du JavaScript, il est donc difficile à maintenir à un stade ultérieur d'où la raison de ne pas le faire. Actuellement, le JavaScript est dans la vue html, donc le déplacer vers un autre répertoire ajoute à la complexité. – Coppermill