Как легко использовать сложные HTML-“шаблоны” из designer в пользовательском элементе управления библиотекой в ASP.NET (VB.NET)

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

Вопрос

У меня есть немного HTML, который я получил от дизайнера, из witch я создал "шаблон" в веб-пользовательском элементе управления .ascx примерно так, как показано ниже.Теперь я хотел бы поместить это в библиотеку.

Как я могу сделать это приятным способом (без объединения строк И т.д.)

(Должно быть больше параметров)

<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>
Это было полезно?

Решение

Вы изучали Xml-литералы?Вы можете создать html-шаблон следующим образом:

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

Ваши "жетоны", такие как <%= Me.ArticleURL %> могут быть локальными переменными, свойствами, функциями и т.д...

Для получения дополнительной информации о xml-литералах и LinqToXml проверьте эти сайты:

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

Обновить: Xml-литералы работают только в VB.NET .Если вы используете C #, у вас всегда может быть другая сборка в vb, где вы храните все свои xml-литералы.Спасибо, что указали на это Келтекс

Надеюсь, это поможет,

D.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top