Ich habe mit ASP.NET MVC experimentiert und folgende ce Tutorial, um die grundlegende Anwendung für Aufgabenlisten zu erstellen. Ich habe es läuft gut, alles funktioniert, obwohl das Video in VB ist und ich hatte einige Probleme bekommen es "konvertiert" zu C# aber verwirrt durch dank der Codesample.
Um mein Wissen zu erweitern, habe ich beschlossen, eine kleine Änderung am System vorzunehmen. Ich möchte die Index-Seite so ändern, dass "Meine Aufgaben" in rot angezeigt wird, wenn alle Aufgaben erledigt sind, und "Meine Aufgaben" in grün, wenn es noch jede unvollständige Aufgaben.
Ich habe die folgende Funktion zu HomeController.cs hinzugefügt:
public bool Uncomplete()
{
bool AnyLeft = false;
var tasks = from t in db.Tasks orderby t.EntryDate descending select t;
foreach (Task match in tasks)
{
if (match.IsCompleted == false)
{
AnyLeft = true;
}
}
return AnyLeft;
}
Ich habe dann das Index()-ActionResultat so geändert, dass es wie folgt aussieht:
public ActionResult Index()
{
bool AnyLeft = Uncomplete();
var tasks = from t in db.Tasks orderby t.EntryDate descending select t;
return View(tasks.ToList());
}
Mit meiner endgültigen Absicht, den folgenden Code in Index.aspx zu verwenden:
<% if (AnyLeft == false)
{ %>
<h1 class="green">My Tasks</h1>
<% }
else
{ %>
<h1 class="red">My Tasks</h1>
<% } %>
Allerdings kann ich nicht herausfinden, wie man Index.aspx "bewusst" von AnyLeft mit einem Wert von true oder false zu machen. Ich habe versucht
return View(tasks.ToList(), AnyLeft);
Aber das führt zu Fehlern, die ich nicht ganz entziffern kann. Ich habe das Gefühl, dass ich die Dinge "falsch" angehe, aber ich kann es nicht herausfinden.