2016-10-13 1 views
0

Я дал название в моем макете, как: -Как получить ViewBag.Title без Название макета MVC

@ViewBag.Title | Web Clubbed 

И мой Index.html имеет Viewbag.Title как: -

@{ 
    ViewBag.Title = "Welcome to webclubbed web developement & online marketing"; 
} 

Теперь мой заголовок в Index.cshtml показывает: - Добро пожаловать в webclubbed web developmentement & интернет-маркетинг | Web Clubbed

Но я хочу удалить «Web Clubbed» только из Index.cshtml. Как я могу это сделать?

Пожалуйста, ПОМОГИТЕ!

+3

erase '| Веб-клуб? –

+0

, пожалуйста, уточните свой вопрос, чтобы сообщить нам * точно *, что вы хотите ... –

ответ

0

Используйте другое значение вида просмотра, чтобы сохранить отображение/скрытие суффикса.

Планировка:

@{ 
    var suffix = " | Web Clubbed"; 
    var hideSuffix = ViewBag.HideSuffix as bool?; 
    if (hideSuffix.HasValue && hideSuffix.Value){ 
    suffix = string.Empty; 
    } 
} 

@ViewBag.Title @suffix 

индекс:

@{ 
    ViewBag.Title = "Welcome to webclubbed web developement & online marketing"; 
    ViewBag.HideSuffix = true; 
} 

Вам нужно только установить значение ViewBag, если вам нужно, чтобы скрыть суффикс.

+0

Выбрать '| Web Clubbed' и нажмите 'Del', это самый простой способ. lol –

+0

Вы даже прочитали сообщение? ** Я хочу удалить «Web Clubbed» только из названия в Index.cshtml. ** –

0

Вы можете использовать разделы для этого.

В вашем _layout Страница:

<head> 
    @if(isSectionDefined("TitleSection")) 
    { 
     RenderSection("TitleSection", false); 
     //Setting required to false 
    } 
    else 
    { 
     <title>ViewBag.Title | Web Clubbed</title> 
    } 
</head> 

в индексе Страница:

@section TitleSection { 
<title>ViewBag.Title</title> 
} 
+0

Как это решить проблему * Я хочу удалить «Web Clubbed» из названия только в Index.cshtml. * ?? –

+1

Оператор If будет действителен только в том случае, если раздел определен. В других представлениях, где он не определен (скажем, о странице, например), он перейдет к блоку else, в котором есть «| WebClubbed». Если вы определяете раздел в представлении «Индекс», он отображает раздел в коде, содержащемся в блоке. Это также полезно, когда вам нужны разные метатеги для определенных страниц, например – xort

+0

В нем говорится, что «isSectionDefined» не существует в текущем контексте. Когда я использую его в _Layout.cshtml. – Deepak

0

Вы можете достичь этого путем сравнения ваши RouteData значения для вашего зрения.

Так что в вашем _Layout странице вы можете сделать условный оператор так:

@ViewBag.Title = "Welcome to webclubbed web developement & online marketing"; 

@if(ViewContext.RouteData.Values["action"].ToString() == "Index") 
{ 
    ViewBag.Title 
} 
else 
{ 
    ViewBag.Title <span>|</span> Web Clubbed 
} 

Теперь, в зависимости от того, сколько Index действий, которые у вас есть .. Вы, возможно, потребуется сделать что условное выражение немного более конкретными ..

@if(ViewContext.RouteData.Values["action"].ToString() == "Index" && ViewContext.RouteData.Values["controller"].ToString() == "/*ControllerNameThatIndexIsIn*/") 

Дайте мне знать, если это поможет!

+0

Ошибка выброса для @ ViewBag.Title | Веб-клуб - «Недопустимый термин выражения» – Deepak

+0

@Deepak отредактировал мой пост –

Смежные вопросы