首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >FormCollection.AllKeys和FormCollection.Keys之间的区别

FormCollection.AllKeys和FormCollection.Keys之间的区别
EN

Stack Overflow用户
提问于 2013-02-06 06:35:57
回答 1查看 2.3K关注 0票数 2

我目前正在研究MVC中的FormCollection,想知道AllKeysKeys属性在含义和预期用法上的区别。我知道AllKeys是一个string[]Keys是一个KeysCollection,但是如果您必须查看在发布过程中提交的表单域,为什么要选择一个属性而不是另一个属性呢?使用AllKeys快速检查是否存在特定的键只是一种惯例吗?我的一个表单上有多个提交按钮,正在使用AllKeys快速检查哪个按钮实际用于提交表单,但这让我思考了这两个按钮之间的意图差异,如果确实存在差异的话。

大多数情况下,我将利用模型绑定并将ViewModel或命令对象传递回控制器操作,但是否有我不知道的FormCollection.Keys的特定用例?从NameValueCollectionNameObjectCollectionBase内部快速浏览一下,似乎KeysCollection实际上只是一个字符串集合,实际上更像是一个string[]。其中一个可能是在框架的较新版本中引入的,而另一个也是为了向后兼容而保留的?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-02-06 22:00:54

看起来这是一个纯继承的产品。请看一下FormsCollection (http://msdn.microsoft.com/en-us/library/system.web.mvc.formcollection(v=vs.108).aspx )的继承图

FormsCollection继承自NameValueCollection,后者继承自NameObjectCollectionBase.NameValueCollection继承并在NameObjectCollectionBase中定义了密钥,它将AllKeys定义为所有密钥的字符串表示。NameValueCollection的唯一目的似乎是将键公开为字符串(MSDN:表示可以通过键或索引访问的相关字符串键和字符串值的集合)

可能还有更多,但这就是我到目前为止发现的这一点。如果你(或其他任何人)发现任何其他解释,请发帖

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14718308

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档