Non, vous ne pouvez pas mettre ASP.NET dans un fichier javascript. Les fichiers Javascript sont des ressources statiques qui devraient être directement servies par votre serveur web. Ils ne devraient jamais contenir de langage côté serveur. Vous pouvez définir url
comme une variable globale dans la vue:
<script type="text/javascript">
var url = '<%= Url.Action("Action", "Controller") %>';
</script>
utiliser cette variable url
dans votre fichier javascript.
Notez que, selon ce que vous faites avec cette variable, il peut y avoir de bien meilleurs moyens. Par exemple supposons que votre point de vue que vous avez un point d'ancrage que vous voulez ajaxify:
<%: Html.ActionLink("some text", "actionName", new { id = "fooAnchor" }) %>
Ensuite, dans votre javascript vous pouvez:
$(function() {
$('#fooAnchor').click(function() {
$('#result').load(this.href);
return false;
});
});
Donc pas besoin de déclarer toutes les variables du tout. Une autre option consiste à définir une fonction javascript qui prend des paramètres pour que vous puissiez le passer comme vous le souhaitez. Conclusion: pensez à vos fichiers javascript en tant que composants réutilisables que demain vous pourriez brancher sur votre site cool basé sur Java Servlets par exemple et les héberger sur un CDN. Vous pouvez même essayer de les convertir en reusable jQuery plugins. N'essayez pas de le mélanger avec les langages côté serveur, car cela mène à un couplage fort, une sale soupe de code-tag.
Oui. Vous pouvez le faire, mais votre futur soi dit de ne pas le faire. – a7drew