在我填充某个表单(asp.net mvc)并按下提交按钮之后,表单值与提交表单之前相同,我不会从后端代码重新填充输入字段。可以解释一下如何跨越请求保持值(并且值不会重新填充)?
答案 0 :(得分:0)
假设您在询问MVC moder binder如何工作(解析服务器上发布的数据),默认的Model binder(用于有效绑定大多数模型类型)为目标的每个属性执行相对简单的递归逻辑模型。
1通过检查属性名称是否已注册为前缀,它确定属性是简单类型还是复杂类型。前缀模式是[ParentProperty]。[Property]
2从注册的价值提供者处获取房产名称的ValueProviderResult 。
3如果属性是简单类型,它会尝试使用属性TypeConverter将属性从 string 类型的源值转换为字符串类型的源值为 目标类型
4否则,属性是复杂类型,因此执行递归绑定。
如果您尝试查看浏览器发送到服务器的发布值,您可以了解如何发送表单数据并获取想法。如需参考,请参阅此链接https://msdn.microsoft.com/en-us/magazine/hh781022.aspx