Comment puis-je contourner le fait que je ne peux pas insérer de bloc de code dans un fichier de skin?

StackOverflow https://stackoverflow.com/questions/464052

Question

J'ai une page asp.net que je suis en train d'écrire et je suis perplexe devant ce problème. J'ai 3 DetailViews que je lie avec LINQ. La reliure fonctionne très bien. Maintenant, j’ai un fichier de skin que je veux utiliser pour mettre en forme les DV, et ça ressemble à ça.

<asp:DetailsView SkinID="blogViews" runat="server" Width="100%" CssClass="post" 
AutoGenerateRows="False" GridLines="None" FooterStyle-CssClass="comments" FooterStyle-Height="50px">
<Fields>
    <asp:BoundField DataField="blog_title" ShowHeader="False" ItemStyle-CssClass="title" ItemStyle-Font-Size="X-Large"/>
    <asp:BoundField DataField="blog_content" HtmlEncode="False" ShowHeader="False" ItemStyle-CssClass="entry" />
</Fields>

Maintenant, le problème est que je dois ajouter un templateField pour afficher certaines données, et j'en ai besoin entre les champs title et content. En utilisant un champ de modèle, je dois effectuer un:

Eval("blog_datetime")

et quelques autres. Malheureusement, le fichier Skin ne permet pas les blocs de code. Je ne peux pas ajouter le champ de modèle à la page aspx elle-même, car il place le champ templateField au bas de DetailsView. Je suppose que ce que je demande est:

Comment puis-je contourner le fait que je ne peux pas insérer de bloc de code dans un fichier de skin?

Était-ce utile?

La solution

Je me demande s'il serait préférable de créer un contrôle personnalisé pour la mise en page de ces vues de détail.

Les fichiers d’habillage servent à modifier les styles plus que le comportement et la liaison.

Un contrôle personnalisé vous permettrait de faire tout cela et de bénéficier de la disposition partagée pour les trois vues de données.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top