ошибка CS0173: тип условного выражения не может быть определен, поскольку не существует неявного преобразования между «System.Web.IHtmlString» и «строка».
Код: Выделить всё
[url=/]
[img]/images/logo.png[/img]
[/url]
[list]
@foreach (var item in Model.Items)
{
string linkClass = "nav-link";
string toggleAttribute = "";
string inlineEditingAttribute = "";
var navigateUrl = HyperLinkHelpers.GetDetailPageUrl(item, ViewBag.DetailsPageId, ViewBag.OpenInSamePage, Model.UrlKeyPrefix);
var subMenuItems = item.Fields.SubMenuItems as IEnumerable;
bool hasSubMenuItems = subMenuItems != null && subMenuItems.Any();
var relatedSubMenuItems = item.Fields.RelatedSubMenuItems as IEnumerable;
bool hasRelatedSubMenuItems = relatedSubMenuItems != null && relatedSubMenuItems.Any();
bool hasMegaMenu = hasSubMenuItems && subMenuItems.Any(subItem => subItem.MegaMenuSelection.ToHtmlString() == @Html.Raw("Yes"));
if (hasSubMenuItems)
{
linkClass += " dropdown-toggle";
toggleAttribute = "dropdown";
inlineEditingAttribute = Html.InlineEditingFieldAttributes("Title", "ShortText").ToHtmlString();
}
[*] @(hasSubMenuItems ? "dropdown" : @Html.Raw(" "))
@(hasMegaMenu ? "has-megamenu" : @Html.Raw(" "))"
@Html.InlineEditingAttributes(Model.ProviderName, Model.ContentType.FullName, (Guid)item.Fields.Id)>
[url=@navigateUrl]
@item.Fields.Title
[/url]
if (hasSubMenuItems && !hasMegaMenu)
{
@foreach (var subMenuItem in subMenuItems)
{
[url=@subMenuItem.ItemDefaultUrl]@subMenuItem.Title[/url]
}
[/list]
}
else if (hasMegaMenu)
{
[list]
@foreach (var subMenuItem in subMenuItems)
{
if (subMenuItem != null)
{
[*]
[url=javascript:void(0);]@subMenuItem.Title[/url]
}
}
[/list]
[list]
@foreach (var subMenuItem in subMenuItems)
{
@foreach (var relatedSubMenuItem in subMenuItem.RelatedSubMenuItems)
{
if (relatedSubMenuItem != null)
{
[*]
[url=@relatedSubMenuItem.ItemDefaultUrl.ToHtmlString()]@relatedSubMenuItem.Title[/url]
}
}
[/list]
}
Column 3
}
}
Подробнее здесь: https://stackoverflow.com/questions/791 ... r-template