a_m*_*m0d 5 forms asp.net asp.net-mvc
我正在处理一个显示订单信息的表格.每个订单都有一个唯一的ID,但它们不一定是表单上的顺序.此外,字段数可以变化(表单上每行一个字段).表单中的输入不会直接映射到数据库中,而是会添加到数据库中的当前值,然后保存.表格的一个示例如下图所示 - 右侧的标注显示每行的ID.

我知道如何生成这样的表单,但我无法弄清楚如何可以轻松地处理这些行中的每一行.我也知道如何给每个字段一个唯一的标识符,比如name="order-23"或name="order[23]",但是我如何翻译该名称以便我可以更新数据库中的相关记录?
编辑:我能想到的一个解决方案是迭代遍历每个表单字段FormCollection,如果字段的名称与模式匹配,那么我将从该字段名称中提取数字并处理它.
但是,我觉得必须有一个更简单的方法 - 这个方法可能需要在每个字段上进行相当多的字符串处理,如果我以后必须为每一行添加额外的字段,可能会出现问题.
回发后没有ID列表吗?我相信您不应该依赖于表单中实际发送的 ID,因为任何人都可以将表单上的 ID 更改为他们想要的任何内容,因此这是一个安全问题。因此,您应该在回发后获得要更新的 ID 列表(与用于创建表单的列表相同)。在这种情况下,您确切地知道应该使用什么 id 字符串来从 FormCollection 中检索值。
如果您确实无法获取要更新的 ID 列表,只需按照您在评论中建议的方式使用 FormCollection 迭代即可。与请求处理中完成的所有其他内容相比,字符串处理并不那么昂贵。
| 归档时间: |
|
| 查看次数: |
683 次 |
| 最近记录: |