|
|
1
4
是的,这是一个糟糕的做法,因为问题是“过度张贴”。 例如,考虑一个UserProfile的实体模型:
肆无忌惮的用户可以简单地修改表单,将“IsAdmin”和其他值一起发布。因为您的操作需要UserProfile的输入,所以IsAdmin值也将被映射,并最终持久化。 这是 an excellent writeup about the perils of under and overposting . 不过,我认为将实体模型直接绑定到[HttpGet]方法没有什么问题。 |
|
|
2
1
|
|
|
3
0
是的,通过练习。你应该保持控制器尽可能的瘦,并分离每个关注点。 |
|
4
0
Bind 属性可以用于实现相同的功能,如 this blog post . 以Peter J的实体模型为例。在编辑方法中,您只需执行以下操作:
此外,如博客文章中所述,您可以采用“黑名单”方法并告诉控制器操作要排除哪些字段:
也可以将其放置在实体模型的类名上方,如下所示:
|