Если вам нужен более краткий синтаксис, не требующий вспомогательной функции, вы можете использовать трехмерный оператор при определении словаря, используемого для html-атрибутов @ HTML.Checkbox helper ...
@Html.CheckBox("CheckBox1", true, Model.ReadOnly
? new { @class = "Class1", @disabled = Model.ReadOnly }
: null)
В этом случае Model.ReadOnly является false, null передается как словарь атрибутов html.
Хорошо, я буду использовать attr, но я подавлю валидацию модели по умолчанию
services.Configure<ApiBehaviorOptions>(options =>
{
// Disable the default model validation
options.SuppressModelStateInvalidFilter = true;
});