1.245 messaggi dal 03 marzo 2004
Ho un repeater e in un td viene riportata la data (se c'è) e ho fatto in questo modo:
<asp:Label id="Label1" runat="server">
                                <%#StrTesto2 ((DataBinder.Eval(Container.DataItem, "Giorno")).ToString())%>
                              </asp:Label>
                              <asp:Label id="Label4" runat="server">
                                <%#StrTesto3 ((DataBinder.Eval(Container.DataItem, "mese")).ToString())%>
                              </asp:Label>
                              <asp:Label id="Label5" runat="server">
                                <%#StrTesto4 ((DataBinder.Eval(Container.DataItem, "anno")).ToString())%>
                              </asp:Label>


Codice:
    protected string StrTesto2(string testo) 
    { 
      if (testo =="") 
        return "&nbsp;"; 
      else 
      {
        string pippo = testo + "/";
        return pippo; 
      }
            
    }

    protected string StrTesto3(string testo) 
    { 
      if (testo =="") 
        return "&nbsp;"; 
      else 
      {
        string pippo = testo + "/";
        return pippo; 
      }
            
    }

    protected string StrTesto4(string testo) 
    { 
      if (testo =="") 
        return "&nbsp;"; 
      else 
      {
        string pippo = testo ;
        return pippo; 
      }
            
    }


Possibile racchiudere il tutto in un'unica funzione?
Anche perchè questa soluzione con i vari <span> mi mette uno spazio tra un risultato e l'altro.

Sonia

L'infinito è... ASP.NET
3.121 messaggi dal 29 ottobre 2001
Contributi | Blog
Sì, puoi creare un'unica funzione che accetta tutti i parametri:
<asp:Label id="Label1" runat="server"> 
<%#StrTesto ((DataBinder.Eval(Container.DataItem, "Giorno")).ToString(),
DataBinder.Eval(Container.DataItem, "mese")).ToString(),
Container.DataItem, "anno")).ToString())%> 
</asp:Label>
Con la funzione:
protected string StrTesto(string giorno,string mese, string anno) 
{ 
if (giorno =="") 
giorno= "&nbsp;"; 

if (mese =="") 
mese= "&nbsp;"; 

if (anno =="") 
anno= "&nbsp;"; 
return giorno+"/"+mese+"/"+anno; 
} 
E' solo un esempio, si può ottimizzare ulteriormente.

Ciao
3.939 messaggi dal 28 gennaio 2003
<td><%#StrTesto(container.DataItem)%></td>

nel codice sottostante
    Protected Function StrTesto$(ByVal DataItem As Object)
        Dim dr As DataRowView = DirectCast(DataItem, DataRowView)
        Dim giorno$ = dr("giorno").ToString
        Dim mese$ = dr("mese").ToString
        Dim anno$ = dr("anno").ToString
        If giorno = "" Or mese = "" Or anno = "" Then
            Return "&nbsp;"
        Else
            Return "<span>" & giorno & " / " & mese & " / " & anno & "</span>"
        End If

    End Function

Da convertire in c#
in più a quanto già detto, potresti usare uno StringBuilder per concatenare le stringhe in modo di aver un utilizzo migliore della memoria


ciao marco

Chi parla senza modestia troverà difficile rendere buone le proprie parole.
Confucio

http://nostromo.spaces.live.com/default.aspx
3.121 messaggi dal 29 ottobre 2001
Contributi | Blog
nostromo ha scritto:
in più a quanto già detto, potresti usare uno StringBuilder per concatenare le stringhe in modo di aver un utilizzo migliore della memoria
Per concatenare tre stringhe? :(

Ciao
ho detto qualcosa di sbagliato?

ciao marco

Chi parla senza modestia troverà difficile rendere buone le proprie parole.
Confucio

http://nostromo.spaces.live.com/default.aspx
3.121 messaggi dal 29 ottobre 2001
Contributi | Blog
Lo StringBuilder è l'ideale per grosse concatenazioni di stringhe, ma per la concatenazione di tre stringhe in un'unica riga di codice hai solo un'inutile spreco di codice.

Ciao
3.939 messaggi dal 28 gennaio 2003
andrewz ha scritto:
Lo StringBuilder è l'ideale per grosse concatenazioni di stringhe, ma per la concatenazione di tre stringhe in un'unica riga di codice hai solo un'inutile spreco di codice.

Ciao


Non vi è nulla di sbagliato nell'usare StringBuilder, anzi, per grosse concatenazioni è l'unico modo serio, ma per 3 stringhette da 2 caratteri e 4 ???? Mi è venuto anche in mente di vedere quanto StringBuilder fosse più veloce, o più lento in questo caso, ma mi è sembrato poco serio.
Ciao

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.