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

问题描述:

什么意思是“强类型查看数据”在Asp.Net MVC中?什么是强类型在Asp.Net中查看数据MVC

谢谢

ASP.NET MVC中的强类型视图继承自System.Web.Mvc.ViewPage<T>并包含由T指定类型的Model属性。这允许intellisense在视图中工作。

每个视图都有一个Model属性。要强类型化视图意味着使它从一些ViewPage<T>继承,并且Model属性成为T的类型。如果您没有强制键入视图,则该模型的类型为“Object”。

强烈地输入View的模型具有优点,因为您可以直接访问模型的属性。你会得到intellisense和编译器检查,而不是依靠使用“魔术字符串”来访问ViewData字典 - 如果你的模型发生了变化,它将在运行时中断。

例如,如果你有

public class Person 
{ 
    public int Age { get; set; } 
} 

,你做你的视图强类型的Person类,你就可以访问您的视图模板Model.Age。如果您的View没有强类型,那么Model将没有属性供您访问,您必须将其显式转换为类型或通过ViewData字典传递数据。

要强烈键入此视图,您只需使其从ViewPage<Person>继承。

假设您需要在视图上显示几条松散相关的数据:联系信息,销售预测和通话记录。你可以简单地将这些注入到ViewData中,然后将它们从视图中强制类型化,然而更好的方法是创建一个封装每个视图的自定义模型。然后,您会强烈地将视图本身输入到此自定义模型中。它起着类型安全性作用,并使代码辅助功能更直观,其中包括可测试性等其他好处。