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