2010-06-03 8 views
1

J'ai n pages avec des vues de formulaire, toutes partageant une mise en page similaire à l'intérieur de leurs modèles article/modifier/insérer. Par exemple, tous les modèles d'objet et d'édition ont un en-tête et une partie du corps à l'intérieur où je place les champs. L'en-tête a un certain style et la partie du corps aussi.mise en page fixe dans le modèle de formulaire de formulaire

Ma question est de savoir comment puis-je appliquer ce style dans toutes mes vues de forme sans répéter les mêmes styles de CSS en vrac tout le temps.

Maintenant, j'utilise des pages master pour cela avec plusieurs vues sur 1 page. Ce n'est pas bon je pense. Je veux une page pour edit/insert/item et 1 formview.

Je préférerais d'une manière ou d'une autre définir le style pour éditer le modèle une fois et le charger dans chaque formulaire. Bien sûr, tous les formulaires n'ont pas les mêmes champs, donc comme les pages principales je voudrais avoir des 'zones' où je peux mettre mes champs.

La façon parfaite, je suppose, serait d'avoir une vue de formulaire sur une page complète basée sur une page, y compris les emplacements de contenu dans ses modèles edit/insert/item.

Toutes les idées sont plus que bienvenues.

Modifier: J'ai lu que c'est possible dans .Net 4 en utilisant des données dynamiques. Je suis coincé avec 3.5 pour le moment.

+0

Comment définissez-vous vos styles? Si vous utilisez des noms de classe et des feuilles de style, ce n'est vraiment pas un problème. – TheGeekYouNeed

+0

Il se compose d'un certain nombre de divs définissant la disposition et les classes CSS qui définissent le look. Je suppose que si je passe plus de temps sur des classes intelligentes de css intelligentes, cela pourrait être gérable. Le prochain problème sera de trouver le temps de résoudre ce problème. – Jeroen

Répondre

1

Vous pouvez définir une CSSClass pour la vue formulaire ou un autre conteneur standard que l'utilisation de sélecteurs enfants dans votre CSS.

+0

L'a fait. Terminé en utilisant un tas de divs, séparés tous les styles en CSS. Ce n'est pas parfait, mais faisable. – Jeroen

0

Vous pouvez utiliser des thèmes (ou thèmes de feuille de style) et des habillages pour cela. Par exemple Créez un thème Theme1 et un fichier skin en dessous avec le contenu suivant.

<asp:FormView runat="server" 
     RowStyle-BackColor="Blue" /> 

Maintenant, vous pouvez faire des pages dans votre application utilise le thème en entrant ce qui suit dans web.config.

<pages theme="Theme1"> 

Vous pouvez également utiliser RowStyle-CssClass ou EditRowStyle (à appliquer à modifier le modèle). Vous pouvez également entrer le fichier de feuille de style dans le même dossier Thème

+0

Désolé mais ce n'est pas assez flexible pour moi. – Jeroen