/ / Нищо не прави в ASP.MVC 3 Преглед - asp.net-mvc-3

Нищо не се прави в ASP.MVC 3 Преглед - asp.net-mvc-3

В моя ASP.NET MVC проект, имам този код в изглед:

[...]

<%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" });
}
%>

Опитвам се да разбера, защо този код нищо не прави в изхода. Контролерът и ChangeVisibility се прилага.

Отговори:

1 за отговор № 1

Ако иначе ситаксът е нещо като по-долу.

<% if (true) { %>
<%= "Condition met" + ... %>
<% }
else { %>
<%= "condition not met" %>
<% } %

Аз никога не съм работил по този синтаксис, но аз googled за ако иначе синтаксис в asp.net mvc и намери тази връзка, която обяснява синтаксисната разлика между MVC2 и MVC3 разon syntax. http://www.csharpcity.com/ifelse-statements-in-mvc3-with-razor/


1 за отговор № 2

Само един знак @ ще е достатъчен, както следва:

@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 за отговор № 3

какво е елемент в това?

Ако преминавате някой модел от контолер за преглед, той трябва да бъде достъпен чрез Model.item или ако елементът е нещо в речника ViewBag или ViewdData, тогава трябва да използвате ViewBag.item


0 за отговор № 4

Вие изпълнявате Html.ActionLink() но не го записвате в документа.

<% 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" }); %>
<% } %>