What is strongly-typed View in ASP.NET MVC

It is an aspx page that derives from System.Web.Mvc.ViewPage<TModel>. 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<TModel> counterpart for strongly typed partials (ASCX).

Leave a Comment

Hata!: SQLSTATE[HY000] [1045] Access denied for user 'divattrend_liink'@'localhost' (using password: YES)