Мне нужно было динамически реализовать изменение мета-тегов в mvc5. Например, если пользователь выбирает город из раскрывающегося списка, теги заголовка, описания и ключевых слов должны измениться соответствующим образом. Я реализовал некоторый код, который извлекает эти теги из базы данных и устанавливает его в представлении перед его отображением на экране. Теперь, когда я меняю город, я вижу, что заголовок меняется соответствующим образом в Chrome, но когда я проверяю источник страницы, он показывает старый заголовок, описание и ключевое слово. Это странное поведение то же самое для Firefox, но в пограничном браузере не только изменения заголовка, но и отражение в источнике страницы Я вижу новое название, новое описание и новые ключевые слова в грани.
Я искал в Google и Bing (да, я в таком отчаянии), но не смог найти ничего, связанного с моей проблемой.
некоторые скриншоты
- браузер Chrome -
Заголовок главной страницы
источник домашней страницы
после выбора названия города меняется
Источник страницы показывает старые метатеги
- Edge browser -
после выбора названия города
Источник страницы показывает новые обновленные метатеги
Почему заголовок меняется, но не обновляются теги в исходном коде страницы, и почему он работает так, как задумано, по краям, но не в chrome и firefox.
Обновление: код также работает в браузере Safari, как и предполагалось.
Код для получения метатегов -
{
currentUrl = Url.RequestContext.RouteData.Values["controller"] + "/" + Url.RequestContext.RouteData.Values["action"];
ViewBag.MetaTag = GeneralClass.UpdateMetaDetails(currentUrl, productt, city_element);
}
and setting it in view in the head section
@(Html.Raw(ViewBag.MetaTag));