ASP.NET MVC отображает теги и атрибуты html в нижнем регистре

Кажется, что как Asp.net MVC Core, так и Asp.net MVC 5.x визуализируют html-теги и атрибуты в нижнем регистре, и это поведение ломает угловые привязки. Чтобы привести пример: в моем view.cshtml я определяю Угловой компонент с привязкой к верблюжьему view.cshtml:

<my-component [fooBar]="foo"></my-component>

который впоследствии представляется как:

<my-component [foobar]="foo"></my-component>

Поскольку Угловые привязки чувствительны к регистру, внутренний компонент fooBar входного свойства остается undefined. Есть ли способ переопределить это поведение рендеринга и отобразить html as-is?

Ответ 1

Когда я помещаю это в файл cshtml:

<test-tag [testingThisThing]="123" anotherThingTEST="abc"></test-tag>

Я получаю точно то же самое в источнике HTML. Вы уверены, что элемент не изменяется после загрузки? Вы смотрите на "Просмотр источника" (а не "Проверить элемент")?

Тем не менее, мой test-tag не определен нигде - используете ли вы помощники тегов или что-то еще? Сам MVC не строит все атрибуты.

Ответ 2

Глядя на исходный вид, кажется, что он визуализируется бритвой как написано, но когда элемент фактически появляется в chrome, он в нижнем регистре. я могу только предположить, что это хромированная "фича".