Sur une page donnée, pour afficher une fenêtre par exemple, il se peut que je doive avoir une initialisation JavaScript, des DIV avec certains identifiants et que tous doivent être liés entre eux. Le JavaScript peut avoir besoin de connaître l'ID d'un DIV, les DIV peuvent devoir être imbriqués d'une certaine manière et ainsi de suite. Évidemment, je ne veux pas m'inquiéter à ce sujet sur chaque page que j'utilise ce code. Cela le rendrait sujet à erreur et non DRY.ASP.NET MVC grouper/réutiliser les fonctionnalités d'affichage
Avec WebForms je résoudrais ce problème en écrivant un contrôle personnalisé. Comment allez-vous les gars dans vos projets? Utilisez-vous des méthodes d'extension crachant des chaînes, peut-être des contrôles utilisateur? Quelle est la manière recommandée?
Merci.
EDIT:
Voici un exemple lors de l'utilisation maître-pages:
- Dans la région de contenu HEAD Je besoin du code jQuery qui met en place certaines fonctionnalités
- Dans une région de contenu Je mettrais du HTML nécessaire pour montrer une partie de la fenêtre
- Dans une région de contenu différente, je mettrais le HTML actuel qui est affiché dans la fenêtre.
Donc toutes ces 3 pièces nécessiteraient 3 blocs de code différents mais seraient logiquement liées.
EDIT 2
exemple de code (en utilisant une page maître)
<asp:Content ContentPlaceHolderID="HeaderContent" runat="server">
<script type="text/javascript">
$(document).ready(function() { DoSomething('div1', 'div2'); });
</script>
</asp:Content>
<asp:Content ContentPlaceHolderID="TopContent" runat="server">
<div id='div1'> ... </div>
</asp:Content>
<asp:Content ContentPlaceHolderID="BottomContent" runat="server">
<div id='div2'> ... </div>
</asp:Content>
div1 et div2 sont couplées à l'appel de fonction JavaScript. Si je fais une erreur, donnez au DIV un ID différent, le code se casserait. Ceci est un exemple simple qui prouve le point. Cela devient beaucoup plus compliqué quand le couplage repose sur div1 ayant une certaine structure par exemple.
J'ai annulé l'édition; désolé, mais il a totalement changé la question initiale. Peut-être que je n'ai pas bien expliqué ... – pbz