In meinem ASP.NET MVC-Projekt habe ich diesen Code in einer Ansicht:
[...]
<%if(item.IsActive)
{
Html.ActionLink("Deactivate", "ChangeVisibility", new { id = item.Id, val = false }, new { @class = "activate-manipulate-news" });
}
else
{
Html.ActionLink("Activate", "ChangeVisibility", new { id = item.Id, val = true }, new { @class = "activate-manipulate-news" });
}
%>
Ich versuche herauszufinden, warum dieser Code nichts in der Ausgabe rendert. Der Controller und der ChangeVisibility
ist implementiert.
Antworten:
1 für die Antwort № 1Das if else System sollte etwas wie unten sein.
<% if (true) { %>
<%= "Condition met" + ... %>
<% }
else { %>
<%= "condition not met" %>
<% } %
Ich habe nie an dieser Syntax gearbeitet, aber ich googelte für wenn sonst Syntax in asp.net mvc und fand diesen Link, der den Syntaxunterschied zwischen MVC2 und MVC3 Razon-Syntax erklärt. http://www.csharpcity.com/ifelse-statements-in-mvc3-with-razor/
1 für die Antwort № 2
Ein einzelnes @ -Zeichen genügt, so:
@if(item.IsActive)
{
@Html.ActionLink("Deactivate", "ChangeVisibility", new { id = item.Id, val = false }, new { @class = "activate-manipulate-news" });
}
else
{
@Html.ActionLink("Activate", "ChangeVisibility", new { id = item.Id, val = true }, new { @class = "activate-manipulate-news" });
}
0 für die Antwort № 3
Was ist ein Gegenstand in diesem?
Wenn Sie ein Modell vom Steuerrechner zur Anzeige übergeben, sollte es über aufgerufen werden Model.item
oder wenn das Element etwas im ViewBag- oder ViewdData-Wörterbuch ist, müssen Sie es verwenden ViewBag.item
0 für die Antwort № 4
Sie führen gerade aus Html.ActionLink()
aber Sie schreiben nicht das Ergebnis des Dokuments.
<% if (item.IsActive) { %>
<%: Html.ActionLink("Deactivate", "ChangeVisibility", new { id = item.Id, val = false }, new { @class = "activate-manipulate-news" }); %>
<% } else { %>
<%: Html.ActionLink("Activate", "ChangeVisibility", new { id = item.Id, val = true }, new { @class = "activate-manipulate-news" }); %>
<% } %>