MVC2中出现一个相同的键已被添加的问题原因

在使用MVC2开发时,遇到'An item with the same key has already been added.'错误,原因是实体类中存在大小写不同的同名属性。在Request.Form中,键值不区分大小写导致重复。解决方法是避免大小写不一致的同名属性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 这两天用MVC2搞了一个软件,结果今天调试时碰到一个很头疼的问题。

只要使用HtmlHelper的控件模版在界面上显示控件,如下:

就报出An item with the same key has already been added这个错误。

后来在国外网站上才查到一个老兄也碰到这个问题,原因是对应的实体中有重名的属性。

像我这里 UserInfo实体类中有一个"ID"属性,这个实体类继承自EntityBase类,基类中有一个属性"Id".

注意这里的两个属性大小写不同,C#会认为是两个属性,但是在MVC的Request.Form中Key值是不区分大小写的。

这样就会出现添加重复键值的错误。

这个错误很少发生,因为如果大小写相同它也会被认为是一个属性,只有大小写不同时才会发生。

An item with the same key has already been added.

Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originate

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值