use*_*883 16 asp.net-mvc asp.net-mvc-4
我是MVC的新手,我正在将一个Web表单应用程序更新为mvc.我有一个共享布局(webforms中的母版页),我想为每个视图设置元和标题信息,但我看不到这个选项.谢谢你的帮助.
Hac*_*ese 42
通常,在您的布局中,您将拥有以下内容:
<!DOCTYPE html>
<html lang="en">
<head>
<title>@ViewBag.Title</title>
<!-- the rest omitted for brevity -->
Run Code Online (Sandbox Code Playgroud)
重要的是@ViewBag.Title
.这个剃刀语法编码和写入的值ViewBag.Title
.ViewBag
是动态类型的所有剃刀视图上的属性,它使用 ViewData
字典作为其后备存储.ViewData
只是一个字典,您可以在其中存储要在视图中使用的随机内容.
在控制器,布局或视图中,您可以获取或设置ViewBag.Title
.这是一个如何在使用您的布局的视图中设置它的示例(_Layout.cshtml
在此示例中调用):
@{
ViewBag.Title = "My View's Title";
Layout = "~/Views/Shared/_Layout.cshtml";
}
Run Code Online (Sandbox Code Playgroud)
您可以从中访问模型元数据ViewData.ModelMetadata
.在此示例中,我枚举模型的属性并显示名称:
<ul>
@foreach (var property in ViewData.ModelMetadata.Properties)
{
<li>@property.PropertyName</li>
}
</ul>
Run Code Online (Sandbox Code Playgroud)
小智 6
在您的控制器方法中。
ViewData["Title"] = "this is page one title";
在你看来,有这个。
@ViewData["Title"])
如果标题是 html,它应该是 @html.raw(ViewData["TopMessage"])
Razor 引擎更适合 mvc,所以我建议您在创建新项目时尝试使用 razor。希望对你有帮助。
归档时间: |
|
查看次数: |
46566 次 |
最近记录: |