Wie leicht komplexe HTML „Vorlagen“ von Designern in einer Bibliothek Benutzersteuerung in ASP.NET (VB.NET) verwenden
-
22-08-2019 - |
Frage
Ich habe einige HTML, die ich von einem Designer bekam, von Hexe mir eine „Vorlage“ in etwa wie unten .ascx Webbenutzersteuerelement gemacht. Nun würde Ich mag es in eine Bibliothek setzen.
Wie kann ich dies tun, auf eine nette Art (Ohne Verketten von Strings etc.)
(Es sollte mehr Parameter sein)
<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>
Lösung
Haben Sie sich in XML-Literale? Sie können die HTML-Vorlage wie folgt erstellen:
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
Ihre "Token" wie <% = Me.ArticleURL%> können lokale Variablen, Eigenschaften, Funktionen, etc ...
Für weitere Informationen über XML-Literale und linqToXml diese Seiten überprüfen:
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
UPDATE: XML-Literale nur in VB.NET arbeiten. Wenn Sie C # verwenden, können Sie immer eine andere Montage in vb, wo Sie alle Ihre xml Literale halten. Dank für den Hinweis auf Keltex
Hope, das hilft,
D.