Мой вопрос: почему синтаксис бритвы не будет работать внутри тега, где я использую помощники тегов?Это то, что я могу обойти, и решение проблемы было дано ЗДЕСЬ , но я до сих пор не смог выяснить, почему возникает эта проблема.
КакНапример, у меня есть тег выбора, к которому я пытаюсь добавить отключенный атрибут, только если у модели есть определенное свойство.Вот HTML:
<select
@(Model.Id != 0 ? "disabled" : "")
asp-for="QuestionType"
asp-items="Html.GetEnumSelectList<Enums.QuestionTypes>()"
id="form-type" data-parsley-required class="form-control">
</select>
Использование Razor внутри выделенных выводит следующее
<select
asp-for="QuestionType"
asp-items="Html.GetEnumSelectList<Enums.QuestionTypes>()"
id="form-type" data-parsley-required="" class="form-control">
</select>
Если не использовать Razor, это дает
<select
id="form-type" data-parsley-required="" class="form-control"
data-val="true" data-val-required="The QuestionType field is required."
name="QuestionType">
<option selected="selected" value="0">Drop Down</option>
<option value="10">Free Response</option>
</select>
Покаиспользуя синтаксис Razor, он, кажется, игнорирует помощники тегов и не создает HTML-код, как следует (или как ожидается).Тем не менее, использование бритвы внутри значений атрибутов, кажется, работает нормально, когда я использую ее, чтобы попытаться добавить такие вещи, как атрибуты тегов, я получаю эти проблемы.Как было сказано ранее, я просто пытаюсь понять, почему это происходит.