异常详细信息: System.ArgumentException: 已添加了具有相同键的项。
场景重现:在地址栏输入 http://localhost:51709/Home/Index?user[0].Name=tom&user[1].Name=jack
后台代码如下:
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; namespace MvcDemo.Controllers { public class HomeController : Controller { public ActionResult Index(List<User> user) { return View(); } } public class User { public string Name { get; set; } public string name { get; set; } //添加大小写不同的重名属性时,报异常。 } }
结论:在对象的属性中,尽量不要有大小写不同的重名属性,尽管在编译时不会出错,但是可读性差,还可能会出现以上情况下的错误。