【发布时间】:2011-02-09 22:17:30
【问题描述】:
我有一些视图在创建时没有模型,这意味着我无法将它们创建为强类型视图。现在他们有了模型,我想改变它,以便在视图中编写代码时为模型属性提供智能感知。是否有某种类型的配置可以启用强类型视图?
【问题讨论】:
标签: asp.net asp.net-mvc
我有一些视图在创建时没有模型,这意味着我无法将它们创建为强类型视图。现在他们有了模型,我想改变它,以便在视图中编写代码时为模型属性提供智能感知。是否有某种类型的配置可以启用强类型视图?
【问题讨论】:
标签: asp.net asp.net-mvc
查看视图的顶部。模型声明应该是可编辑的,作为视图的第一行。如果没有,以下是适当的声明:
剃刀:@model Models.MyModel
ASP.NET:
<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage<Models.MyModel>" %>
【讨论】:
在视图的顶部,您将看到它用作模型的类型。可能现在它说的是“动态”之类的东西。将此与强类型视图进行比较,您可以轻松了解如何修改。
【讨论】:
视图可以是模型的强类型,在这种情况下,您将获得强类型的帮助器,并且 Model 属性将绑定到该模型,或者视图可以是弱类型,在这种情况下,您依赖魔术字符串而不是 Intellisense一点也不。如果视图在创建时不是强类型的,您可以修改它并使其成为强类型:
<%@ Page
Title=""
Language="C#"
MasterPageFile="~/Views/Shared/Site.Master"
Inherits="System.Web.Mvc.ViewPage<AppName.Models.SomeViewModel>" %>
或使用 Razor 视图引擎:
@model AppName.Models.SomeViewModel
【讨论】: