Вы можете использовать методы расширений, чтобы сделать метод многократно используемым, но главное, что нужно отойти от этих решений, - это использование служебной функции из Sitecore MainUtil.GetBool (checkboxField.Value, false);
using System;
using Sitecore;
using Sitecore.Data.Fields;
using Sitecore.Resources.Media;
namespace MyProject.Extensions
{
public static class FieldExtensions
{
public static bool IsChecked(this Field checkboxField)
{
if (checkboxField == null)
{
throw new ArgumentNullException(nameof(checkboxField));
}
return MainUtil.GetBool(checkboxField.Value, false);
}
}
public static class ItemExtensions
{
public static bool IsChecked(this Item item, ID fieldId)
{
var checkboxField = item.Fields[fieldId];
if (checkboxField == null)
{
throw new ArgumentNullException(nameof(checkboxField));
}
return MainUtil.GetBool(checkboxField.Value, false);
}
}
}
MyRendering.cshtml - с использованием расширений FieldExtensions
@using MyProject.Extensions
@model Sitecore.Mvc.Presentation.RenderingModel
@{
var noIndexNoFollow = Model.Item.Fields["NoIndexNoFollow"].IsChecked();
}
MyRendering.cshtml - с использованием ItemExtensions
@using MyProject.Extensions
@using Sitecore.Mvc
@model Sitecore.Mvc.Presentation.RenderingModel
@{
var noIndexNoFollow = Model.Item.IsChecked(Model.Item.Fields["NoIndexNoFollow"].ID);
}