У меня есть вспомогательный метод MVC
public static string Selected<T>(this HtmlHelper helper, T value1, T value2)
{
if (value1.Equals(value2))
return "class=selected";
return String.Empty;
}
Но когда я вызываю его из вида
@Html.Selected(item.DomainID, Model.DomainID)>
или разыгрываю как объяснено здесь
@Html.Selected(item.DomainID, (int)(Model.DomainID))>
Мой взгляд выглядит следующим образом
@model FYP.Models.ProjectIdea
@using Helpers
@{
ViewBag.Title = "Create";
}
<h2>Create</h2>
<p class="validation-summary-errors">@ViewBag.Message</p>
@section LeftColumn{
<ul id="leftColumn">
@foreach (var item in ViewBag.Model.Domains)
{
<li @Html.Selected(item.DomainID, Model.DomainID)>
@Html.ActionLink(item.Title, "Index",
new { id = item.DomainID },
new
{
@id = "navLink:" + item.DomainID
}
)
</li>
}
</ul>
}
Я получаю следующую ошибку.
Сообщение об ошибке компилятора: CS1973: «System.Web.Mvc.HtmlHelper» не имеетприменимый метод с именем «Выбран», но, похоже, имеет метод расширения с этим именем.Методы расширения не могут быть динамически отправлены.Попробуйте привести динамические аргументы или вызвать метод расширения без синтаксиса метода расширения.
Любая помощь?
Обновление:
Хорошо, явсе получилось, изменив типы аргументов на int
public static string Selected<T>(this HtmlHelper<T> helper, int value1, int value2)
{
if (value1.Equals(value2))
return "class=selected";
return String.Empty;
}
Хотя это не является универсальным, перебор все же решил мою проблему