Kom ihåg mig?
Home Menu

Menu


.NET skulle behöva smarte kod än detta..

Ämnesverktyg Visningsalternativ
Oläst 2014-07-25, 12:01 #1
naak2803 naak2803 är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Jun 2011
Inlägg: 767
naak2803 naak2803 är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Jun 2011
Inlägg: 767
Standard .NET skulle behöva smarte kod än detta..

Hello WN:are!

Jag är ute efter ett mer rent kod än detta:
Någon som har lust att hjälpa till?

Kod:
int iCount = 100;

        string sHtml = "<table cellpadding='0' cellspacing='0' border='0'>";

        for (int i = 1; i < iCount + 1; i++)
        {
            if (i == 1 || i == 21 || i == 41 || i == 61)
                sHtml += "<tr>";

            sHtml += "<td>";
            sHtml += "<img src='http://lorempixel.com/100/100/people/' style='margin-top:-3px'>";
            sHtml += "</td>";

            if (i == 20 || i == 40 || i == 60)
                sHtml += "</tr>";
        }
        sHtml += "</table>";

        LiteralImageGrid.Text = sHtml;
https://dotnetfiddle.net/ISl5RJ

Senast redigerad av naak2803 den 2014-07-25 klockan 12:05
naak2803 är inte uppkopplad   Svara med citatSvara med citat
Oläst 2014-07-25, 22:13 #2
Conny Westh Conny Westh är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Aug 2005
Inlägg: 5 166
Conny Westh Conny Westh är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Aug 2005
Inlägg: 5 166
Om jag fattat din avvsikt så vill du använda "Modulus"....

Kod:
int iCount = 100;

        string sHtml = "<table cellpadding='0' cellspacing='0' border='0'>";

        for (int i = 1; i < iCount + 1; i++)
        {
            if (((i-1) % 20) == 0)
                sHtml += "<tr>";

            sHtml += "<td>";
            sHtml += "<img src='http://lorempixel.com/100/100/people/' style='margin-top:-3px'>";
            sHtml += "</td>";

            if (i % 20 == 0 )
                sHtml += "</tr>";
        }
        sHtml += "</table>";

        LiteralImageGrid.Text = sHtml;

Senast redigerad av Conny Westh den 2014-07-25 klockan 22:16
Conny Westh är inte uppkopplad   Svara med citatSvara med citat
Oläst 2014-07-27, 09:09 #3
jonny jonny är inte uppkopplad
Supermoderator
 
Reg.datum: Sep 2003
Inlägg: 6 941
jonny jonny är inte uppkopplad
Supermoderator
 
Reg.datum: Sep 2003
Inlägg: 6 941
Måste det vara en tabell? I annat fall kan du generera någon form av containers (divar?) med "float: left" och slipper bry dig om att generera kod för radbrytningar.

Annars kan man ju göra något åt det här hållet...

Kod:
        protected string imageTable()
        {
            int imagesTotal = 100;
            int imagesPerRow = 20;

            StringBuilder htmlTable = new StringBuilder();

            htmlTable.Append("<table>");
            int imageCount = 0;
            while (imageCount < imagesTotal)
            {
                htmlTable.Append("<tr>");
                for (int cell = 0; cell < imagesPerRow; cell++)
                {
                    if (imageCount == imagesTotal)
                    {
                        break;
                    }
                    htmlTable.Append("<td>");
                    htmlTable.Append("<img src=\"http://lorempixel.com/100/100/people/\"/>");
                    htmlTable.Append("</td>");
                    imageCount++;
                }
                htmlTable.Append("</tr>");
            }

            return htmlTable.ToString();
        }
jonny är inte uppkopplad   Svara med citatSvara med citat
Oläst 2014-09-17, 21:29 #4
terbon terbon är inte uppkopplad
Medlem
 
Reg.datum: Jul 2008
Inlägg: 69
terbon terbon är inte uppkopplad
Medlem
 
Reg.datum: Jul 2008
Inlägg: 69
Halvt offtopic:
Skulle du kunna ge lite mer information i vilket syfte som du behöver göra detta?
Det känns som att det är väldigt få tillfällen som detta skulle vara en bra approach till att populera en table.

Det måste ju finnas en anledning till att du vill ha 20 kolumner? Är det olika data i varje kolumn? I så fall borde ju approachen snarare vara att genera en rad per post i tabellen?

Om det inte är tabulär data som du ska presentera så bör du ju inte returnera en table.
terbon är inte uppkopplad   Svara med citatSvara med citat
Svara


Aktiva användare som för närvarande tittar på det här ämnet: 1 (0 medlemmar och 1 gäster)
 

Regler för att posta
Du får inte posta nya ämnen
Du får inte posta svar
Du får inte posta bifogade filer
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG]-kod är
HTML-kod är av

Forumhopp


Alla tider är GMT +2. Klockan är nu 02:44.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson
 
Copyright © 2017