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, он в нижнем регистре. я могу только предположить, что это хромированная "фича".