![]() |
1
0
我可以看到的第一件事是,没有控制器操作方法,您没有可以写入的属性,所以假设这个对象是只读模型。至少,我们需要看到使用这个对象的控制器操作方法,以及视图(如果可用)。 更新: 据我所知,ModelBinder的目的是获取从HTML表单、查询字符串和/或会话数据接收到的数据,并填充.NET类的一个实例,反过来,提供来自该类实例的数据以在HTML表单中使用。从我的角度来看,您的Cart类具有行为和存储,但没有以读/写属性形式传输的数据。MVC使用.NET反射来查找类中的读/写属性。由于类中没有读/写属性,因此模型绑定失败,因为自定义ModelBinder没有要传输的内容。 您可能想看看这两篇关于模型绑定帮助的文章: http://odetocode.com/Blogs/scott/archive/2009/04/27/6-tips-for-asp-net-mvc-model-binding.aspx http://odetocode.com/Blogs/scott/archive/2009/05/05/iterating-on-an-asp-net-mvc-model-binder.aspx |
![]() |
2
0
如果您覆盖模型绑定器,那么您将负责从表单发布填充对象。在显示的自定义模型活页夹中,实际上没有设置购物车的属性。您需要设置它的属性。 |
![]() |
3
0
谢谢你的回复,但我发现了问题。这是ali@asp.net论坛指出的一件非常愚蠢的事情 问题出在controllerContext.httpContext.session[“cartsessionkey”]=cart行中; 它应该只是controllerContext.httpContext.session[cartsessionkey]=cart; 我还是不敢相信我以前没抓到这个。 |