Est-il possible d'appeler des Scripts.Rendre ou des Styles.Rendu dans le code-behind d'un fichier ASPX?
Est-il un moyen de reproduire le comportement de la @:Scripts/Styles.Render
helper de code derrière?
Si je référence les faisceaux à l'aide de la BundleTable.Bundles.ResolveBundleUrl
méthode, puis le regroupement et la minification se produit même avec debug=true
. J'ai lu d'autres questions, et la solution semble à présent évident, en utilisant le mentionné précédemment helper. Mais dans mon cas, je ne sais pas le nom du bundle, tandis que dans le aspx, et c'est générée lors de l'exécution dans le code derrière.
Donc, j'ai besoin d'ajouter les références dans la tête, depuis le code-behind, et je ne peux pas trouver un moyen de le faire.
Est-il un moyen? Ou vais-je être obligée de le faire dans le .fichier aspx?
- Pourquoi tu ne peux pas appeler ces aides dans votre code pour obtenir le script/références de style que vous voulez le rendre?
Vous devez vous connecter pour publier un commentaire.
Yep!
C'est ce que je fais pour les Formulaires Web. Cet exemple ajoute des ressources pour la
<head>
, mais fonctionne également avec n'importe quel contrôle pour lequelControls.Add()
œuvresPour CSS:
Pour JS:
Aussi - depuis ASPX est une sous-classe de code-behind, vous POURRAIT théoriquement obtenir le nom du bundle à partir ASPX en faisant d'elle une des aires protégées (ou les) variable dans le code-behind (mais vous n'avez pas poster tout le code donc je ne suis pas sûr de ce que vous êtes exactement).
Scripts.Render
etLiteralControl
.Vous pourriez tout aussi bien rendre le script inline
Cela peut également être utile pour ceux qui sont venus ici plus tard.
Une autre option sans l'aide d'un Littéral de Contrôle:
ClientScript.RegisterClientScriptInclude(typeof(Page), "MyJS", Scripts.Url("~/bundles/bundledJS").ToHtmlString());
RegisterStartupScript
, etc., pour un comportement différent. En fin de compte ce que j'ai fait était de créer mon propre serveur de contrôle pour être en mesure de le faire de manière déclarative. Il est super doux, voir ma solution ici