Я и коллега обсуждаем, как создать ссылку на странице.Должны ли мы использовать помощники html или сохранить очень простую логику вида в виде?
Для этого проекта мы используем Castle Monorail и механизм просмотра NVelocity.Я был бы признателен всем, кто рассматривает оба варианта ниже и высказывает свое мнение.
В этой статье ссылка в настоящее время используется только на одной странице.
Вариант 1 - С помощником
Код помощника
var action = snail.IsActive ? "ConfirmDeactivate" : "ConfirmActivate";
var routeValues = new Dictionary<string, string>
{
{"action", action},
{"querystring", "id=" + snail.ID}
};
var href = UrlHelper.For(routeValues);
var link = new XElement("a");
link.SetAttributeValue("href", href);
link.SetValue(action.Substring(7));
return link.ToString();
И затем в представлении мы просто вызываем помощника следующим образом:
<li>$Html.SnailActivationSwitchLink($item)</li>
Вариант 2 - Все в представлении
#if($snail.IsActive)
<a href="$Url.For("%{action='ConfirmDeactivate', querystring='id=$snail.ID'}")">Deactivate</a>
#else
<a href="$Url.For("%{action='ConfirmActivate', querystring='id=$snail.ID'}")">Activate</a>
#end