我正在尝试从数据库中提取已保存的标题。我希望它每次都加载而不使用视图来调用它。所以我希望在从布局中调用它时拉出一个变量。我怎样才能做到这一点?
在布局示例中:
@ViewBag.ShowTitle
这将显示给呈现布局的每个页面。我不确定如何在没有控制器的情况下将数据库中的字段调用到屏幕上。
我正在尝试从数据库中提取已保存的标题。我希望它每次都加载而不使用视图来调用它。所以我希望在从布局中调用它时拉出一个变量。我怎样才能做到这一点?
在布局示例中:
@ViewBag.ShowTitle
这将显示给呈现布局的每个页面。我不确定如何在没有控制器的情况下将数据库中的字段调用到屏幕上。
只需PartialView
在您的_Layout.cshtml
页面中调用 a 即可。
@Html.Partial("_Title")
但是您确实需要 aController
与数据库交互并将Title
值分配给ViewBag
.
部分视图
<div>
<h2>
@ViewBag.ShowTitle
</h2>
</div>
您也可以按照以下链接中的说明进行操作,在其中定义 a ViewModel
、 a和内部Controller
调用:@Html.Action
_Layout.cshtml
只有当您的数据库支持直接 Web 访问(如 Raven DB http://ravendb.net/docs/http-api)时,您才能避免使用控制器。
但是您也可以在会话中使用技巧。例如,您可以在 global.asax 中读取并保存 Session 的标题,并在页面上使用 session 变量,但这样编写代码非常糟糕。