2014-08-27 3 views
0

У меня есть что-то в моем контроллере, которые разделены между всеми видами. Поэтому я попытался создать _default.cshtml и установить расположение моих взглядов с этим кодом: Layout = "_default.cshtml";как установить представление по умолчанию для контроллера?

и это мой _default.cshtml:

@{ 
    ViewBag.Title = "ahmadali shafiee"; 
} 

@section links{ 
    <ul id="links"> 
     <li class="inner-li-en inner-li"> 
      <a href="~/en/about">about</a> 
     </li> 
     <li class="inner-li-en inner-li"> 
      <a href="http://2barnamenevis.com">blog</a> 
     </li> 
     <li class="inner-li-en inner-li"> 
      <a href="">projects</a> 
     </li> 
     <li class="inner-li-en inner-li"> 
      <a href="http://photo.ahmadalli.net">photoblog</a> 
     </li> 
     <li class="inner-li-en inner-li"> 
      <a href="mailto:[email protected]">contact</a> 
     </li> 
    </ul> 
} 

@section lang{ 
    <div id="lang-fa" class="lang"><a href="fa">فارسی</a></div> 
} 

@RenderBody() 

и это мое мнение:

@{ 
    Layout = "_default.cshtml"; 
} 

Some other content 

но результат не является результатом, которого я ожидаю. Он использует _default.cshtml в качестве окончательного макета, в то время как он должен использовать _layout.cshtml, так как я не устанавливаю макет в _default.cshtml.

+0

Макет означает главную страницу. Поскольку у вас нет указателя на странице _default, это значит, что он остановится. См. Это: http://www.mikesdotnetting.com/Article/164/Nested-Layout-Pages-with-Razor – jle

+0

@jle Если я не устанавливаю макет на моей странице, не говорит, что бритва «Использовать то, что он сказал в '_ViewStart.cshtml'? –

+0

Где хранится ваш viewstart? – jle

ответ

0

Кажется, логика, что «Если вид не имеет layout затем использовать _ViewStart.cshtml» не является правильным, и я должен добавить Layout = "~/Views/Shared/_Layout.cshtml"; к моему _default.cshtml и это устранит проблему.

0

Вы можете установить его в _ViewStart.cshtml внутри папки «Виды» вашего приложения, как раз то, что вы делаете на своей странице.

+0

У меня уже есть '_ViewStart.cshtml'. Так что, если я не устанавливаю «макет» на мой взгляд, разве это не означает, что бритва должна использовать '_ViewStart.cshtml'? –

+0

@ahmadalishafiee Да, он должен работать именно так. jle написал что-то о вложенных макетах, которые, я думаю, вам нужно проверить. –

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