2014-09-20 36 views
0

我是Visual Studio的新手,并且难以正确地创建ViewBag.Title函数。ViewBag.Title不能在我的代码中工作ASP.NET MVC 4

这里是我的代码ViewBag.Title工作不正常,并在屏幕上打印错误的位置和完整的字符串“ViewBag.Title =”主页“;”

@model IEnumerable<Employees.Models.Employee> 
    @{WebGrid grid = new WebGrid(Model);} 
    { 
    ViewBag.Title = "Home Page"; 
    } 
    @section featured { 
     <section class="featured"> 
      <div class="content-wrapper"> 
       <hgroup class="title"> 
        <h1>@ViewBag.Title.</h1> 
        <h2>@ViewBag.Message</h2> 
       </hgroup> 
    @grid.GetHtml(columns: new[] { 
    .... 
    .... 

回答

1

我敢肯定,你只需要在您与@

@{ 
    ViewBag.Title = "Home Page"; 
    } 

这是因为渲染就像是直接的HTML

+0

由于刚分配到ViewBag.Title前缀代码块我需要什么才能使它工作。 – MaxReiger 2014-09-20 02:51:36

+1

您可以将该代码移动到一个块中 @ {WebGrid grid = new WebGrid(Model); ViewBag.Title =“Home Page”;}尽可能为预编译器优化做到这一点是很好的做法。当您发布网站时,您可以选择预编译它,并将所有视图构建到生成的程序集中以提高性能。在一个块中保留尽可能多的代码可以在预编译时优化代码生成。未预编译时,MVC引擎在运行时编译视图(访问时)增加加载时间。 – 2014-09-20 03:08:24

+0

@Ryios是的网站需要几秒钟加载。而且它在块内更快。 – MaxReiger 2014-09-20 05:10:43