Sitecore MVC, входные теги и выражения условий в качестве их значений

При установке атрибута value входного тега в условный оператор наблюдается некоторое странное поведение. Я использую следующий код.

<input type="hidden" id="canAddAll" value="@(Model.WishList.Products != null && Model.WishList.Products.All(p => p.CanAdd))" />

Ожидаемый результат "value" для входного тега будет "True", но я получаю только текст "value".

<input type="hidden" id="canAddAll" value="value">

Когда вы смотрите на источник компиляции, похоже, что он использует Tuple для создания атрибута value в этом случае. То, что ожидается, это простой Write() для значения.

WriteAttribute("value", Tuple.Create(" value=\"", 272), Tuple.Create("\"", 382), Tuple.Create(Tuple.Create("", 280), Tuple.Create<System.Object, System.Int32>(Model.WishList.Products != null && Model.WishList.Products.All(p => p.CanAdd), 280), false)

Есть идеи, почему я бы видел это поведение?

1 ответ

Попробуйте использовать Html.HiddenFor().

Для полного объяснения см. Принятый ответ здесь: /questions/38144971/problema-privyazki-bulevoj-modeli-v-mvc-4/38144984#38144984

Другие вопросы по тегам