Avatar billede thormam Nybegynder
24. juni 2010 - 18:35 Der er 2 kommentarer og
1 løsning

repeater og linieskift

Jeg har lavet en gæstebog med MySQL og repeaters. Det eneste der ikke virker er linieskift. Dvs folk laver afsnit osv men når teksten hentes og kommer frem i repeateren fortsætter teksten ud i en lang køre.

Jeg har fundet den her: http://www.eksperten.dk/spm/515502
Men jeg kan ikke se hvordan jeg kan bruge den da jeg kalder teksten direkte i repeateren - angiver ikke string nogen steder.

Herunder koden:
(rptGB er repeateren til navn, dato og tekst rptSide1 og rptSide2 er til paging som funker fint)


private void LoadGB()
    {
        OdbcConnection cn = new OdbcConnection("connection string");
        cn.Open();
        OdbcDataAdapter da = new OdbcDataAdapter("SELECT * FROM `guestbook` ORDER BY `Index` DESC", cn);
        DataTable dt = new DataTable();
        da.Fill(dt);
        cn.Close();
        PagedDataSource pgitems = new PagedDataSource();
        DataView dv = new DataView(dt);
        pgitems.DataSource = dv;
        pgitems.AllowPaging = true;
        pgitems.PageSize = 10;
        pgitems.CurrentPageIndex = PageNumber;

        if (pgitems.PageCount > 1)
        {
            rptSide2.Visible = true;
            rptSide2.Visible = true;
            ArrayList pages = new ArrayList();
            for (int i = 0; i < pgitems.PageCount; i++)
                pages.Add((i + 1).ToString());
            rptSide1.DataSource = pages;
            rptSide2.DataSource = pages;
            rptSide1.DataBind();
            rptSide2.DataBind();
        }
        else
        {
            rptSide1.Visible = false;
            rptSide2.Visible = false;
        }
        rptGB.DataSource = pgitems;
        rptGB.DataBind();
    }

og her aspx siden:

<asp:Repeater ID="rptGB" runat="server">
  <ItemTemplate>
    <tr class="GBtest">
        <td style="text-align: left; font-size: 10px;" class="GBtest">
          <span class="GBnavn"><%# DataBinder.Eval(Container.DataItem, "navn") %></span><span class="GBdato"> | <%# DataBinder.Eval(Container.DataItem, "dato") %></span><br />
                                    <br />
<td><span class="GBtekst"><%# DataBinder.Eval(Container.DataItem, "tekst") %></span>
                                    </td>
                                </tr>
                                <tr>
                                    <td bgcolor="#F7F7F7" style="border: thin dotted #E7E7E7; font-size: 8px; height: 10px;"></td>
                                </tr>
                                </ItemTemplate>
                                </asp:Repeater>

Som i kan se kalder jeg kun "tekst" et sted og det er direkte i repeateren. Hvordan kan jeg fixe linieskift i dette?
Avatar billede softspot Forsker
24. juni 2010 - 18:58 #1
Det kan være dette fungerer:

<td>
  <span class="GBtekst">
    <%# Convert.ToString(DataBinder.Eval(Container.DataItem, "tekst")).Replace("\n","<br>") %>
  </span>
</td>

Jeg mener i øvrigt at du fra ASP.NET 2 kan benytte en lidt kortere form af Eval. Så din kode kommer til at se således ud:

<td>
  <span class="GBtekst"><%# Convert.ToString(Eval("tekst")).Replace("\n","<br>") %></span>
</td>
Avatar billede thormam Nybegynder
24. juni 2010 - 19:39 #2
Sådan sofspot

brugte din

<td>
  <span class="GBtekst"><%# Convert.ToString(Eval("tekst")).Replace("\n","<br>") %></span>
</td>

og det virker lige som jeg ville ha det!

Send mig et svar - Tak!
Avatar billede softspot Forsker
24. juni 2010 - 19:41 #3
Velbekomme :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester