@viktorulyushev

Как определить что я на главной странице?

Мне нужно определять что я на главной странице,и только для нее выводить определенный класс.Пытаюсь сделать так

<main class="stretch-middle site-body @(Request.Url.AbsoluteUri.Contains("/") ? "" : "container")">


Но это не работает,всегда true.Как определять что после слеша нет,ничего?В инете ничего толкового не нашел.Я правильно понимаю что если после слеша ничего нет,то это главная страница всегда?
  • Вопрос задан
  • 511 просмотров
Решения вопроса 1
@viktorulyushev Автор вопроса
Решение
<main class="stretch-middle site-body @(Request.RawUrl == "/" ? "" : "container") ">
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 3
@cicatrix
было бы большой ошибкой думать
На главную страницу (cshtml) поместите скрипт (пример с JQuery):
$( document ).ready(function() {
    $('main').addClass("container");
});
Ответ написан
AlexanderYudakov
@AlexanderYudakov
C#, 1С, Android, TypeScript
AbsoluteUri — это "http:​//example.com/path?query#hash"
Разумеется, любой абсолютный адрес будет Contains("/").
Ответ написан
@Mindgrow
viktorulyushev, главную страницу должны указать Вы в файле App_Start/RouteConfig.cs и исходя из этого, размещать нужный блок на соответствующей Вьюхе.

Если вы будете привязываться к тому что содержится в Url, и определять в _layoute какие либо условия - то помните, что на главную страницу можно зайти и не через слеш, а например так "home/index", и ваш скрипт не будет работать.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы