What is strongly-typed View in ASP.NET MVC

后端 未结 3 439
忘了有多久
忘了有多久 2020-12-02 18:32

What is strongly-typed View in ASP.NET MVC?

3条回答
  •  离开以前
    2020-12-02 18:49

    It is an aspx page that derives from System.Web.Mvc.ViewPage. It is said that this view is strongly typed to the type TModel. As a consequence to this there's a Model property inside this view which is of type TModel and allows you to directly access properties of the model like this:

    <%= Model.Name %>
    <%= Model.Age %>
    

    where as if your aspx page derived from System.Web.Mvc.ViewPage you would need to pull values from ViewData the view no longer knows about the TModel type:

    <%= (string)ViewData["Name"] %>
    <%= (int)ViewData["Age"] %>
    

    or even worse:

    <%= ((SomeModelType)ViewData["model"]).Name %>
    

    and there's no compile time safety in such code.

    Notice also that there's the ViewUserControl counterpart for strongly typed partials (ASCX).

提交回复
热议问题