2016-09-08 4 views
0

Ich generiere automatische E-Mails über TFS-Build. Ich brauche einen Tisch zu machen, also schaffe ich HTML Tabelle es Leib Instanz von Objekt-Eigenschaft zuweisen System.Net.Mail.MailMessage:HTML: Tabellenzellen können nicht ausgerichtet werden

msg.Body = message + table; 

Mein C# Code funktioniert gut, aber ich kann nicht meine HTML-Tabelle auszurichten. Dies ist ein Teil der erzeugten HTML:

<table border="1" style="border: 1px solid; "> 
    <tr> 
    <td rowspan="5"> 
     <b>Requirement #1172660: </b> 
     <br/>Malicious apps weren't recognized on desktop (webroot did not respond) <br/> 
     </td> 
    </tr> 
    <tr> 
    <td valign="top"> 
     <b>Changeset #444273:</b> 
     <br/>By John Smith: increase webroot external service timeout 11/05/2016 10:38:59<br/> 
     </td> 
    </tr> 
    <tr> 
    <td valign="top"> 
     <b>Changeset #455754:</b> 
     <br/>By John Smith: Added retry mechanism to external service call 12/07/2016 18:19:23<br/> 
     </td> 
    </tr> 
    <tr> 
    <td valign="top"> 
     <b>Changeset #455969:</b> 
     <br/>By John Smith: Increased webroot timeout to 30 sec 13/07/2016 15:10:42<br/> 
     </td> 
    </tr> 
    <tr> 
    <td valign="top"> 
     <b>Changeset #458813:</b> 
     <br/>By John Smith: Fixed bug in soapfull request retry 28/07/2016 12:16:16<br/> 
     </td> 
    </tr> 
    <tr> 
    <td rowspan="5"> 
     <b>Requirement #1172660: </b> 
     <br/>Malicious apps weren't recognized on desktop (webroot did not respond) <br/> 
     </td> 
    </tr> 
    <tr> 
    <td valign="top"> 
     <b>Changeset #444273:</b> 
     <br/>By John Smith: increase webroot external service timeout 11/05/2016 10:38:59<br/> 
     </td> 
    </tr> 
    <tr> 
    <td valign="top"> 
     <b>Changeset #455754:</b> 
     <br/>By John Smith: Added retry mechanism to external service call 12/07/2016 18:19:23<br/> 
    </td> 
    </tr> 
    <tr> 
    <td valign="top"> 
     <b>Changeset #455969:</b> 
     <br/>By John Smith: Increased webroot timeout to 30 sec 13/07/2016 15:10:42<br/> 
    </td> 
    </tr> 
    <tr> 
    <td valign="top"> 
     <b>Changeset #458813:</b> 
     <br/>By John Smith: Fixed bug in soapfull request retry 28/07/2016 12:16:16<br/> 
    </td> 
    </tr> 
    <tr> 
    <td rowspan="2"> 
     <b>Requirement #1180032: </b> 
     <br/>Orange FR - Change text before Factory Reset/Flash <br/> 
    </td> 
    </tr> 
    <tr> 
    <td valign="top"> 
     <b>Changeset #455265:</b> 
     <br/>By John Smith: 11/07/2016 10:33:46<br/></td> 
    </tr> 
</table> 

Wenn ich an diesem Code zu einem gewissen HTML compilator http://www.w3schools.com/tags/tryit.asp?filename=tryhtml_table_span ich sutisfactory Ergebnis: enter image description here Obwohl, wie Sie sehen, rechts ein wenig Zelle nach unten angepasst. Nervertheles, meine Kopfschmerzen beginnen, wenn ich meine E-Mail erhalte. Die erzeugte Tabelle sieht anders aus: enter image description here

Wie Sie sehen können, hat generierte Tabelle in E-Mail erheblichen freien Speicherplatz oben in den rechten Zellen. Ich habe mich in meinem Leben noch nie mit HTML beschäftigt und ich habe keine Ahnung, wie ich diese Lücke entfernen, nach oben ausrichten oder das Aussehen und Verhalten von Tabellen wie in HTML beibehalten kann (das Aussehen und Verhalten auf dem ersten Screenshot)). Ich würde mich freuen jede Hilfe oder Beratung.

+1

Sie sollten versuchen, Erstellen Sie eine gültige Tabellenarchitektur: Tabelle> tbody> tr> td. Die Tabellenanzeige in E-Mails ist sehr streng. Um den Stil zu erzwingen, müssen Sie manuell style = "" hinzufügen. – KCarnaille

+0

tbody - das ist das einzige was ich vermisse, oder? –

+1

Sie müssen den HTML-Code in der E-Mail überprüfen. Greifen Sie diesen Code (die Methode variiert von Client zu Client) und fügen Sie ihn in http://jsfiddle.net/ –

Antwort

1

fand ich die Lösung: Ich brauche meine Tabellenstruktur zu ändern:

<table> 
    <tr> 
     <td rowspan="1">Bug 1</td > 
     <td>Changeset 1</td > 
    </tr> 
    <tr> 
     <td rowspan="2">Bug 1</td > 
     <td>Changeset 1</td > 
    </tr> 
    <tr> 
     <td >Changeset 2</td >   
    </tr> 

    <tr> 
     <td rowspan="3">Bug 2</td > 
     <td >Changeset 1</td > 
    </tr> 
    <tr> 
     <td >Changeset 2</td >   
    </tr> 
    <tr> 
     <td >Changeset 3</td >   
    </tr> 
    <tr> 
     <td rowspan="4">Bug 2</td > 
     <td >Changeset 1</td > 
    </tr> 
    <tr> 
     <td >Changeset 2</td >   
    </tr> 
    <tr> 
     <td >Changeset 3</td >   
    </tr> 
    <tr> 
     <td >Changeset 3</td >   
    </tr> 

Statt dessen:

ich diese verwenden Jetzt

<table> 
     <tr> 
      <td rowspan="3">Bug 1</td>   
     </tr> 
     <tr> 
      <td>Changeset 1</td>   
     </tr> 
     <tr> 
      <td>Changeset 2</td>   
     </tr> 



     <tr> 
      <th rowspan="5">Bug 2</th>   
     </tr> 
     <tr> 
      <th>Changeset 1</th>   
     </tr> 
     <tr> 
      <th>Changeset 2</th>   
     </tr> 
     <tr> 
      <th>Changeset 3</th>   
     </tr> 
     <tr> 
      <th>Changeset 4</th>   
     </tr> 
</table> 
Verwandte Themen