在这种情况下如何使用 TryUpdateModel?
在我的查询字符串中,我得到了一堆参数名称和值。
据我了解,我应该使用内置的 asp.net mvc 函数 TryUpdateModel(modelInstance)。
看来它并没有像我预期的那样工作。 我的参数名称的大小写确实不同。 这是一个问题吗?
此外,我有一些自定义类型,需要特定的方法来执行一些业务逻辑检查,以将字符串转换为此类的实例。 我应该把这个逻辑放在哪里?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
Steve Sanderson 在他最近出版的书中几乎用了一整章的内容来介绍模型绑定 Pro ASP.NET MVC Framework (Apress)。
您可以发布一些您遇到问题的具体代码吗?
我认为大小写并不重要,但我可能是错的。
如果 DefaultModelBinder 不适用于您的复杂模型类型,您可能需要派生您自己的自定义模型绑定程序。 这是自定义模型绑定器的一个极其简化的示例。 我很确定 DefaultModelBinder 可以处理此处定义的简单 Customer 对象: 简单的自定义模型绑定器
这是另一篇文章,其中包含有关模型绑定和构建自定义模型绑定器的一些技巧:ASP.NET MVC 模型绑定的 6 个技巧 和 迭代 ASP.NET MVC 模型绑定器。
我仍然推荐上面提到的 Steve Sanderson 的书,因为它有迄今为止我所见过的最好的解释,并且有一个关于自定义模型绑定器(到 XDocument)的更复杂的示例。
Steve Sanderson has nearly a whole chapter on model binding in his recently published book Pro ASP.NET MVC Framework (Apress) which I really recommend.
Can you post some specific code that you are having trouble with?
I don't think capitalization matters, but I could be wrong.
If the DefaultModelBinder doesn't work on your complex model types, you may need to derive your own custom model binder. Here is an extremely simplified example of a custom model binder. I'm pretty sure the DefaultModelBinder could handle the simple Customer object defined here: Simple custom model binder
Here is another article with a few tips on model binding and building a custom model binder: 6 Tips for ASP.NET MVC Model Binding and Iterating on an ASP.NET MVC Model Binder.
I still recommend the Steve Sanderson book mentioned above because it has the best explanation I've seen so far and has a more complicated example for a custom model binder (to an XDocument).