Asp.Net MVC中“强类型视图数据”的含义是什么?
由于
答案 0 :(得分:3)
ASP.NET MVC中的强类型视图继承自System.Web.Mvc.ViewPage<T>
并包含由T指定的类型的Model属性。这允许intellisense在您的视图中工作。
答案 1 :(得分:2)
每个视图都有Model
属性。要强烈键入View意味着使其继承自某些ViewPage<T>
,并且Model属性将成为T的类型。如果您没有强烈键入视图,则Model的类型为“Object”。
强烈键入View模型的优势在于您可以直接访问模型的属性。您可以获得智能感知和编译器检查,而不是依赖于使用“魔术字符串”来访问ViewData字典 - 如果模型发生变化,它将在运行时中断。
例如,如果你有
public class Person
{
public int Age { get; set; }
}
并且您在Person
课程中强烈输入了自己的观看次数,您就可以从视图模板访问Model.Age
了。如果您的View没有强类型,那么Model
将没有您可以访问的属性,您必须将其明确地转换为类型或通过ViewData字典传递数据。
要强烈输入此视图,只需将其从ViewPage<Person>
继承。
答案 2 :(得分:1)
假设您需要在视图上显示几条松散相关的数据:联系信息,销售预测和通话记录。您可以简单地将这些注入到ViewData中并将它们拉出来并从View中强力键入它们,但更好的方法是创建一个自定义模型来封装其中的每一个。然后,您将强烈键入View自身到此自定义模型。它具有类型安全性,使代码辅助更加直观,可测试性等其他优点。