带有IEnumerable <Model>的Razor View与Model之间的区别?

戴夫

我看到有些人写@model IEnumerable<WebApplication1.Models.Weight>在他们的观点的顶部,有些人写@model WebApplication1.Models.Weight

我想知道两者之间的区别。就像什么时候使用什么?

斯图尔特

以aIEnumerable<Entity>作为模型的剃刀视图意味着控制器将对象(例如,视图模型或实体)的集合作为模型传递给页面。例如

@model IEnumerable<MyNamespace.Entity>

将与控制器动作匹配,例如

[HttpGet]
public ActionResult SearchByName(string startsWith)
{
    var entities = Db.Entities
       .Where(e => e.StartsWith(startsWith))
       .ToList();
    return View(entities);
}

这样,该视图就可以访问多个Entity对象(例如,所讨论的页面可能是IndexSearch result页面,其中的条目可以以表格形式用列出foreach)。

相反,将单个对象作为模型的剃刀视图仅显示了一个对象,例如

@model MyNamespace.Entity

将通过控制器动作使用,例如

[HttpGet]
public ActionResult Details(int id)
{
    var entity = Db.Entities.Find(id);
    if (entity == null)
        return HttpNotFound();
    return View(entity);
}

意味着视图只有一个Entity模型主题,例如页面可能显示一个Entity对象的详细信息,或者只允许更新或插入一个对象Entity

Model页面可用的相应实例对象将是的相应类型@model

另一点需要注意的是,IEnumerable也表示不变性,即视图应该阅读集合,但可能不会如Add还是Delete从它的实体(即它是很好的做法,留下的脚手架IEnumerable,而不是将其更改为如IListICollection)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何从Mvc剃刀视图中的IEnumerable <model>返回带有索引的模型?

来自分类Dev

Razor View @model是否初始化模型?

来自分类Dev

settings.AUTH_USER_MODEL和django.contrib.auth.get_user_model之间有什么区别?

来自分类Dev

带有UIViewController和Storyboard的Model-View-Controller

来自分类Dev

ng-model和ng-value之间有什么区别/不兼容?

来自分类Dev

request.setAttribute()和model.addAttribute之间有什么区别?

来自分类Dev

IEnumerable <Model>返回null

来自分类Dev

带有Java的Razor

来自分类Dev

Model,javabean和POJO之间的区别

来自分类Dev

Eloquent \ Model :: get()和all()之间的区别

来自分类Dev

this.get('model')和modelFor之间的区别

来自分类Dev

Laravel - Model::create 和 save() 之间的区别

来自分类Dev

ng-model和data-ng-model之间的区别

来自分类Dev

Razor中的Direct Model.Property与HTML Helper DisplayFor

来自分类Dev

Umbraco&Razor:如果CurrentPage / Model是Child,则条件

来自分类Dev

将Razor TextArea绑定到Model类属性

来自分类Dev

返回View(model:MyModel); 在ASP.Net Core Razor页面中等效

来自分类Dev

带有Active Model Serializer的Namespacing API

来自分类Dev

找不到带有 'id'= 的 'Model'

来自分类Dev

返回带有IEnumerable的viewmodel以查看并使用razor将变量循环到同一行

来自分类Dev

在一对多关联中,Model.new 和models.new 之间有什么区别?

来自分类Dev

带有Razor语句的MvcHtmlString

来自分类Dev

DB :: table('table')和model::('table')之间的区别

来自分类Dev

Django中的Model.id和Model.pk有什么区别?

来自分类Dev

Model3DCollection和Model3DGroup有什么区别?

来自分类Dev

Model3DCollection和Model3DGroup有什么区别?

来自分类Dev

猫鼬模型中的 model 和 model._doc 有什么区别?

来自分类Dev

Wicket中的Model,PropertyModel和CompoundPropertyModel有什么区别?

来自分类Dev

Model,ViewModel和DTO有什么区别?

Related 相关文章

  1. 1

    如何从Mvc剃刀视图中的IEnumerable <model>返回带有索引的模型?

  2. 2

    Razor View @model是否初始化模型?

  3. 3

    settings.AUTH_USER_MODEL和django.contrib.auth.get_user_model之间有什么区别?

  4. 4

    带有UIViewController和Storyboard的Model-View-Controller

  5. 5

    ng-model和ng-value之间有什么区别/不兼容?

  6. 6

    request.setAttribute()和model.addAttribute之间有什么区别?

  7. 7

    IEnumerable <Model>返回null

  8. 8

    带有Java的Razor

  9. 9

    Model,javabean和POJO之间的区别

  10. 10

    Eloquent \ Model :: get()和all()之间的区别

  11. 11

    this.get('model')和modelFor之间的区别

  12. 12

    Laravel - Model::create 和 save() 之间的区别

  13. 13

    ng-model和data-ng-model之间的区别

  14. 14

    Razor中的Direct Model.Property与HTML Helper DisplayFor

  15. 15

    Umbraco&Razor:如果CurrentPage / Model是Child,则条件

  16. 16

    将Razor TextArea绑定到Model类属性

  17. 17

    返回View(model:MyModel); 在ASP.Net Core Razor页面中等效

  18. 18

    带有Active Model Serializer的Namespacing API

  19. 19

    找不到带有 'id'= 的 'Model'

  20. 20

    返回带有IEnumerable的viewmodel以查看并使用razor将变量循环到同一行

  21. 21

    在一对多关联中,Model.new 和models.new 之间有什么区别?

  22. 22

    带有Razor语句的MvcHtmlString

  23. 23

    DB :: table('table')和model::('table')之间的区别

  24. 24

    Django中的Model.id和Model.pk有什么区别?

  25. 25

    Model3DCollection和Model3DGroup有什么区别?

  26. 26

    Model3DCollection和Model3DGroup有什么区别?

  27. 27

    猫鼬模型中的 model 和 model._doc 有什么区别?

  28. 28

    Wicket中的Model,PropertyModel和CompoundPropertyModel有什么区别?

  29. 29

    Model,ViewModel和DTO有什么区别?

热门标签

归档