Mounting html by c #

3

I think I have a better way of doing this, because when I did it made sense now I do not understand anything else, because it makes me very confused:

I have a field in the table that stores the following content:

Descrição: 
O curso visa capacitar o aluno nas diferentes técnicas de microagulhamento, ensinando quando utilizar os diferentes tipos de agulhas em associação com cosmetologia, nutracêutica e recursos estéticos, Com a prática demonstrativa, o aluno poderá compreender a correta condução do procedimento.

Objetivo: 
Capacitar o aluno na técnica de microagulhamento e em como associar com demais recursos estéticos, cosméticos e nutracêuticos.

Público Alvo:
Farmacêuticos
Médicos
Esteticistas
Biomédicos
Fisioterapeutas
Terapeutas Ocupacionais
Enfermeiros

Conteúdo Programático:
Conceito de microagulhamento
Diferentes técnicas de agulhamento
Indicações das técnicas de agulhamento
Mediação do processo inflamatório
Terapia combinada
Tratamento rejuvenescedor
Tratamento clareador

My end result has to be this:

<div class="col-md-8" style="text-align: justify">
    <strong>Descrição:</strong>
    <ul>
        <li>O curso visa capacitar o aluno nas diferentes técnicas de microagulhamento, ensinando quando utilizar os diferentes tipos de agulhas em associação com cosmetologia, nutracêutica e recursos estéticos, Com a prática demonstrativa, o aluno poderá compreender a correta condução do procedimento.
        </li>
    </ul>
    <hr />
    <strong>Objetivo:</strong>
    <ul>
        <li>Capacitar o aluno na técnica de microagulhamento e em como associar com demais recursos estéticos, cosméticos e nutracêuticos.
        </li>
    </ul>
    <hr />
    <strong>Público Alvo:</strong>
    <ul class="star_list">
        <li>Farmacêuticos
        </li>
        <li>Médicos
        </li>
        <li>Esteticistas
        </li>
        <li>Biomédicos
        </li>
        <li>Fisioterapeutas
        </li>
        <li>Terapeutas Ocupacionais
        </li>
        <li>Enfermeiros
        </li>
    </ul>
    <hr />
    <strong>Conteúdo Programático:</strong>
    <ul class="star_list">
        <li>Conceito de microagulhamento
        </li>
        <li>Diferentes técnicas de agulhamento
        </li>
        <li>Indicações das técnicas de agulhamento
        </li>
        <li>Mediação do processo inflamatório
        </li>
        <li>Terapia combinada
        </li>
        <li>Tratamento rejuvenescedor                   
        </li>
        <li>Tratamento clareador                       
        </li>
    </ul>
</div>

Visual score:

Thatis,

  • Whenthereisatwo-linebreak,thenextlinehaseitherbold;
  • Whenthereismorethanonelinebreak,withouthavingadoublelinebreak,itrepresentsalist;
  • Thequestionis:Isthereawaytomounthtml,withoutusingbothIFandELSE?

    <divclass="col-md-8" style="text-align: justify">
         <%
            foreach (var conteudo in conteudos)
            {
              primeiro = true;
              foreach (var topico in conteudo.Split(new string[] { "\n" }, StringSplitOptions.None))
              { 
                  if (primeiro)
                  {
          %>
          <strong>
          <%
                  }
                  else
                  { 
           %>
           <li>
           <%} %>
           <%=topico %>
           <%if (primeiro)
           {
            primeiro = false; 
            %>
            </strong>
             <%
              if (conteudo.Count(f => f == '\n') > 1)
              {
              %>
                        <ul class="star_list">
                            <%
                          }
                          else
                          { %>
                            <ul>
                                <%} 
                                }
                                  else
                                  { %>
                        </li>
                        <%} 
                           } %>
                            </ul>
                            <hr />
                            <%} %>
                    </div>
    
        
    asked by anonymous 27.08.2014 / 15:47

    2 answers

    1

    Via Javascript:

    function formatarBloco(conteudo)
    {
        var resultado = '';
        var blocos = conteudo.split('\n\n');
    
        blocos.forEach(function(bloco) {
            var partes = bloco.split('\n');
    
            partes.forEach(function(parte, i) {
                if(i == 0){
                    resultado += '<strong>' + partes[0] + '</strong><br/>';
    
                    if (partes.length == 2)
                        resultado += '<ul>';
                    else
                        resultado += '<ul class="star_list">';
                }
                else
                    resultado += '<li>' + partes[i] + '</li>';
    
            });
    
            resultado += '</ul><hr/>';
        });
        return resultado;
    }
    

    Example in JSFiddler.

        
    27.08.2014 / 17:08
    1

    You are mounting a ul element, so my advice is to use the control BulletedList . There is an example of how to use it at the bottom of the page.

    Anything else you want will invariably have a matching control. For example:

    Tables: GridView, DataView;
    Textboxes: TextBox;
    Large radio list options: RadioButtonList
    Etc., etc. It's up to you to search.

    And because these controls are all in the Framework, you can leave the logic behind creating and displaying data on the server side in Code Behind. Otherwise, if it is to stay on the same client, I suggest using Javascript.

        
    27.08.2014 / 16:08