据我所知 ValueProviderDictionary 从 3 个地方获取绑定值
- 来自邮寄表格
- 来自路线值
- 来自查询字符串
我希望能够禁用第二个和第三个选项。我在这里看到的唯一解决方案是创建我自己的自定义 ValueProvider(复制粘贴 ValueProviderDictionary 源文件并从那里删除这两个选项)。
这个解决方案正确吗?还有更优雅的选择吗?
(如果带有自定义 ValueProvider 的解决方案是正确的,那么它应该在哪里初始化?在控制器的操作方法中还是在自定义 ModelBinder 中?)
谢谢
重写 Controller.Initialize() 并设置价值提供者该方法中的属性(调用 base.Initialize() 之后)。
为了避免重新实现整个 ValueProviderDictionary,您可以将其子类化。唯一有趣的部分是您必须复制 ValueProviderDictionary.PopulateDictionary() 的一小段代码。在构造函数中,调用基本构造函数,然后立即调用 this.Clear(),然后调用 this.YourCustomPopulateDictionary()。这应该会让你的代码变得更小。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)