我是asp.net mvc4的新手,有些东西我不太懂.
如果我已经将对象传递给控制器中的View,为什么我必须在视图顶部使用@model声明模型.
举个例子:
控制器:
public ActionResult countryDetails(int id) { Country country = db.Country.Find(id); return View(country); }
视图:
@model MvcApplication2.Models.Country @{ ViewBag.Title = "countryDetails"; } ...
控制器返回一个以对象作为参数的视图,因此该模型应该是已知的.我很抱歉,如果这是显而易见的,但我无法弄清楚为什么这不是一个“双重”声明.
谢谢你的帮助!
解决方法
顶部的声明将为您做两件事:
>当您输入@Model或使用任何Html帮助程序扩展时,它将允许intellisence知道您正在使用的类型.
>它还将在运行时检查传入的模型是否可以转换为视图所期望的类型.
它不一定是“双重声明”,因为它类似于为方法上的参数指定类型.像这样
Person Someone = new Person(); RenderView(Someone); ... void RenderView(Person model) { }
原文地址:https://www.jb51.cc/aspnet/245787.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。