为什么Visual Studio的MVC模板在视图中而不是在相应的控制器中设置ViewBag.Title?

kis*_*pit 3 c# asp.net asp.net-mvc asp.net-mvc-4

取自index.cshtml:

@model MvcMovie.Models.Movie

@{
    ViewBag.Title = "Details";
}

<h2>Details</h2>

<fieldset>
    <legend>Movie</legend>

    <div class="display-label">
Run Code Online (Sandbox Code Playgroud)

为什么Visual Studio的MVC模板在视图中而不是在相应的控制器中设置ViewBag.Title?

在我看来,任何设置都应该在控制器中完成,任何获取都应该在视图中完成.你怎么看呢?

Fab*_*o S 7

因为ViewBag.Title然后在布局文件\ Views\Shared\_Layout.cshtml中使用值:

<title>@ViewBag.Title</title>
Run Code Online (Sandbox Code Playgroud)