什么是强类型查看Asp.Net MVC中的数据

时间:2010-02-02 19:04:56

标签: c# asp.net asp.net-mvc asp.net-mvc-views

Asp.Net MVC中“强类型视图数据”的含义是什么?

由于

3 个答案:

答案 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自身到此自定义模型。它具有类型安全性,使代码辅助更加直观,可测试性等其他优点。