在我的查询字符串中,我得到了一堆参数名称和值。
据我所知,我应该使用内置的asp.net mvc函数TryUpdateModel(modelInstance)。
虽然它似乎没有像我期待的那样工作。我的参数名称确实按大写推迟。这是一个问题吗?
此外,我有一些自定义类型需要一个特定的方法来进行一些业务逻辑检查,以将字符串转换为此类的实例。我应该把这个逻辑放在哪里?
答案 0 :(得分:1)
Steve Sanderson在他最近出版的书Pro ASP.NET MVC Framework (Apress)中有近一整章关于模型绑定的内容。我真的推荐这本书。
你能发布一些你遇到问题的具体代码吗?
我认为大写不重要,但我可能错了。
如果DefaultModelBinder不能处理复杂的模型类型,则可能需要派生自己的自定义模型绑定器。这是一个自定义模型绑定器的极其简化的示例。我很确定DefaultModelBinder可以处理这里定义的简单Customer对象:Simple custom model binder
这是另一篇文章,其中包含一些关于模型绑定和构建自定义模型绑定的提示:6 Tips for ASP.NET MVC Model Binding和Iterating on an ASP.NET MVC Model Binder。
我仍然推荐上面提到的Steve Sanderson的书,因为它有我迄今为止看到的最好的解释,并且有一个更复杂的自定义模型绑定器示例(到XDocument)。