#razor #net_core #aspnet_core_mvc
В .net core в представлениях (Razor) теперь все НЕ английские символы автоматически конвертируются в соотвествующий хекс код. и теперь весь русский текст, который берётся из модели, или из переменных и пр. будут выглядеть как: Мы не #x441;мо ... И чтоб получить нормальный текст на русском нужно её значение выводить используя Html.Raw() тоесть если я в контроллере присвою переменной string txt="текст на русском"; и в представлении напишу Смотрите это: @txt то в html разметке я увижу: смотрите это: Мыне#x441;можем Если же использовать стандартные структуры типа то из модели весь текст с валидацией на русском автоматом преобразуется и получим конечно для конечного пользователя ничего не изменится и на страничке он видит правильный русский текст, однако сам html заметно растет. Как "обьяснить" .net core, что символы латинские "не опасны" и не нужно их заменять при выводе вместе с символами "&<> и т.п. ? В общем сделать так как было раньше...
Ответы
Ответ 1
в файле Startup.cs в public void ConfigureServices(IServiceCollection services) { .... //Чтобы кирилические символы не переводились в соответствующий Unicode Hex Character Code services.Configure(options => { options.TextEncoderSettings = new TextEncoderSettings(UnicodeRanges.All); }); }
Комментариев нет:
Отправить комментарий