ASP.NET MVC 3 RC - Razor"查看"属性

RPM*_*984 5 c# viewdata razor asp.net-mvc-3

刚刚在今天发布的ASP.NET MVC 3 RC中使用Razor.

现在,我们有一个"布局页面"的概念,我认为它取代了ASPX视图引擎中的"View Master".

但我不明白布局页面的"视图"属性.

以下是创建新Razor View时创建的示例:

_Layout.cshtml

<html>
<head>
   <title>@View.Title</title>
Run Code Online (Sandbox Code Playgroud)

...

MyView.cshtml

@model Mvc3FunParty.Models.Post

@{
   View.Title = "Some Title";
   Layout = "~/Views/Shared/_Layout.cshtml";
}
Run Code Online (Sandbox Code Playgroud)

这导致"Some Title"被插入到<title>呈现的HTML 的标记中.

这究竟是如何工作的?当我将鼠标悬停在"视图"属性上时,它的类型为" 动态 ".

那么这个属性应该用于什么呢?我们可以在那里塞东西吗?这应该是ViewData的Razor实现吗?

如果是这样,它不应该是" ViewDataDictionary " 类型?为什么View属性的" 动态 "类型?

Shi*_*mar 1

是的,“View”确实是ViewData,他们正在使用它dynamic来获得您所看到的语法(View.Title

它翻译为

ViewData["Title"]
Run Code Online (Sandbox Code Playgroud)

MVC 中,特别是 MVC 3 中,有很多这样的小细节,它们会让您感到困惑:)。