Comment utiliser facilement HTML complexes « modèles » de concepteur dans un contrôle utilisateur bibliothèque dans ASP.NET (VB.NET)
-
22-08-2019 - |
Question
J'ai quelques HTML que je suis d'un designer, de sorcière j'ai fait un « modèle » dans un contrôle utilisateur Web .ascx au sujet comme ci-dessous. Maintenant, je voudrais le mettre dans une bibliothèque.
Comment puis-je faire cela d'une manière agréable (sans concaténer cordes etc.)
(Il devrait y avoir plus de paramètres)
<div style="clear:both;margin-top:50px;"></div>
<div>
<div class="title"><a href="http://<%=ArticleURL%>"><%=Title%></a></div>
<div class="picto"></div>
<div class="article"><%=Trailer%></div>
<div style="clear:both;"></div>
<div>
<ul class="comments_box">
<li><img src="site_images/picto_comments.png" alt="" width="14" height="14" border="0"></li>
<li class="comments"><a href="">22 Comments</a></li>
<li><img src="site_images/picto_arrow.png" alt="" width="15" height="16" border="0"></li>
<li class="arrow"><a href="">Share</a></li>
<li><img src="site_images/picto_photo.png" alt="" width="20" height="20" border="0"></li>
<li class="login"><a href=""><%=Nickname%></a></li>
<li class="time">59 min ago</li>
</ul>
</div>
</div>
La solution
Avez-vous étudié littéraux Xml? Vous pouvez créer le modèle html comme ceci:
Public Function GetTemplate() As String
Dim template As String = _
<string>
<div style='clear:both;margin-top:50px;'></div>
<div>
<div class='title'><a href=<%= Me.ArticleURL %>><%= Me.Title %></a></div>
<div class='picto'></div>
<div class='article'><%= Me.Trailer %></div>
<div style='clear:both;'></div>
<div>
<ul class='comments_box'>
<li><img src='site_images/picto_comments.png' alt='' width='14' height='14' border='0'/></li>
<li class='comments'><a href=''>22 Comments</a></li>
<li><img src='site_images/picto_arrow.png' alt='' width='15' height='16' border='0'/></li>
<li class='arrow'><a href=''>Share</a></li>
<li><img src='site_images/picto_photo.png' alt='' width='20' height='20' border='0'/></li>
<li class='login'><a href=''><%= Me.Nickname %></a></li>
<li class='time'>59 min ago</li>
</ul>
</div>
</div>
</string>.Value
Return template
End Function
Vos "jetons" comme <% = Me.ArticleURL%> peuvent être des variables locales, propriétés, fonctions, etc ...
Pour plus d'informations sur les littéraux xml et linqToXml vérifier ces sites:
http://www.ookii.org/post/xml_literals_in_visual_basic_9.aspx
http : //blogs.msdn.com/bethmassi/archive/2007/10/16/getting-started-with-linq-to-xml.aspx
Mise à jour: littéraux Xml ne fonctionnent que dans VB.NET. Si vous utilisez C #, vous pouvez toujours avoir un autre assemblage vb où vous conservez tous vos littéraux xml. Merci pour le signaler Keltex
Hope this helps,
D.