La question est de savoir comment créer des contrôles/vues partielles/edittemplates (fichiers ascx) dans ASP.Net MVC2 afin qu'ils soient "self-containing". Auto-contenir signifie ici que si un code Javascript doit être appliqué sur le contrôle, ce n'est pas inclus dans la page (aspx), mais dans le contrôle lui-même. Exemple spécifique: DateTime.ascx de NerdDinner. Le fichier contient le code JS qui fait de la zone de texte un bon sélecteur DateTime.Meilleure (s) pratique (s) MVC, ascx et Javascript - comment créer des contrôles autonomes? NerdDinner se trompe
Mes problèmes: La page qui contient a jQuery.js, le timepicker.js, le css de jQueryUI et le css de la datepicker. (Dans le cas de NerdDinner, tous sont dans la page maître). Donc, chaque fois que je voudrais utiliser le fantaisie DateTimePicker pour mes types DateTime, la page contenant doit être au courant de ces dépendances et doit ajouter tous les fichiers js et css. Je pense que ce qui me manque ici est une solution qui remplace le ClientScript.RegisterClientScriptBlock.
Autre problème avec le même exemple NerdDinner: Dans le DateTime.ascx, il est indiqué $ ('# Dinner_EventDate') qui dépend à la fois du type de conteneur et du nom de la propriété. Ce n'est pas une solution générale pour un EditorTemplate partagé DateTime.
Des suggestions?
Pour le deuxième problème ma solution est d'ajouter une classe à mes éléments et de me référer à cette classe dans le sélecteur. Pour moi c'est acceptable je pense. Sauf que si le même élément est plusieurs fois sur la page, le code s'exécute aussi plusieurs fois :(Le premier ensemble de problèmes est plus difficile :( – peterfoldi
Voir http://stackoverflow.com/questions/1724166/mvc-registerclientscriptinclude-registerclientscriptblock pour votre premier – queen3