1

我正在尝试从数据库中提取已保存的标题。我希望它每次都加载而不使用视图来调用它。所以我希望在从布局中调用它时拉出一个变量。我怎样才能做到这一点?

在布局示例中:

@ViewBag.ShowTitle   

这将显示给呈现布局的每个页面。我不确定如何在没有控制器的情况下将数据库中的字段调用到屏幕上。

4

2 回答 2

1

只需PartialView在您的_Layout.cshtml页面中调用 a 即可。

@Html.Partial("_Title")

但是您确实需要 aController与数据库交互并将Title值分配给ViewBag.

部分视图

<div>
    <h2>
        @ViewBag.ShowTitle
    </h2>
</div>

您也可以按照以下链接中的说明进行操作,在其中定义 a ViewModel、 a和内部Controller调用:@Html.Action_Layout.cshtml

ASP.NET MVC 3 _Layout.cshtml 控制器

于 2012-10-24T15:46:51.943 回答
1

只有当您的数据库支持直接 Web 访问(如 Raven DB http://ravendb.net/docs/http-api)时,您才能避免使用控制器。

但是您也可以在会话中使用技巧。例如,您可以在 global.asax 中读取并保存 Session 的标题,并在页面上使用 session 变量,但这样编写代码非常糟糕。

于 2012-10-24T15:54:50.150 回答