2016-05-08 6 views
0

hey ich habe diese Ansicht in meiner mvc-Anwendung zurückgegeben. Wenn Sie auf das "tr" schauen, wo es "lössamhet:" heißt, dann wird eine Methode ausgeführt, die die Profilierbarkeit des Projekts zählt und zurückgibt. und wenn die profitability-Methode eine Zahl größer als 20% zurückgibt, möchte ich, dass die Hintergrundfarbe der Tabelle grün wird. und wenn weniger als 20% ich will, dass es rot wird ... Wie kann ich das tun? und mein Modell ist eine Liste eines Objekts, das ich Projekt genannt habe. CSS ist nicht meine beste Seite, also würde Hilfe appreciate. Vielen Dank.(asp.net MVC5) ändern Hintergrundfarbe einer Tabellen basierend auf was eine Methode namens profitability

@model List<Blogg.Models.BlogPost> 
@foreach (var item in Model) 

{

<div> 
     <table style="font-family: Arial; border:1px solid black; width: 1000px; height: 20px"> 

     <tr> 
       <td><b>Projekt Numer: </b>@item.ID</td> 
     </tr> 

     <tr> 
      <td><b>Projekt Namn: </b>@item.name</td> 
     </tr> 
     <tr> 
      <td><b>Kund Namn: </b></td> 
     </tr> 

     <tr> 
      <td><b>Lönsamhet: </b>@item.profitability()</td> 
     </tr> 

     <tr> 
      <td><b>@ViewBag.Basecamp</b></td> 
     </tr> 

     <tr> 
      <td>@Html.ActionLink("Detaljer", "Details", new { id = item.ID })</td> 
     </tr> 

    </table> 
</div> 
+0

20% von was ..? Was gibt die Methode 'profitability()' zurück? ein Dezimalwert? – Shyju

+0

Verwenden Sie ein Ansichtsmodell mit einer Eigenschaft (say) 'string ClassName' und setzen Sie den Wert" sets "auf dem Controller und verwenden Sie dann > –

+0

profitability() gibt double zurück –

Antwort

0

Könnten Sie nicht JQuery verwenden?

Für mehrere Felder eine jquery.each-Schleife und greifen Sie den Wert jeder Klasse.

$('.profit').each(function(){ 
    var variableName = $(this).val(); 
    if(variableName > 20){ 
     $('.profit').css("background-color","green"); 
    } 
    else{ 
     $('.profit').css("background-color","red"); 
    } 
}); 
Verwandte Themen