Asp.net mvc 4 TempData:已添加具有相同键的参数

Asp.net mvc 4 TempData:已添加具有相同键的参数,asp.net-mvc-4,tempdata,Asp.net Mvc 4,Tempdata,我今天碰到了这个问题。 我在asp.net mvc4应用程序中使用tempdata在操作之间传递参数,如下所示 TempData.Add("PayerAmount", amount); TempData.Add("TotalAmount", totalAmount); TempData.Add("PayOption", paymethod); 我在尝试“重试”表单帖子时遇到了一个奇怪的错误: 已添加具有相同密钥的项目 为什么我会犯这个错误?我如何解决它

我今天碰到了这个问题。 我在asp.net mvc4应用程序中使用tempdata在操作之间传递参数,如下所示

       TempData.Add("PayerAmount", amount);
       TempData.Add("TotalAmount", totalAmount);
       TempData.Add("PayOption", paymethod);
我在尝试“重试”表单帖子时遇到了一个奇怪的错误:
已添加具有相同密钥的项目

为什么我会犯这个错误?我如何解决它,为什么框架不能用新的键/值悄悄地覆盖旧的键/值


编辑:我注意到,只要用户会话未关闭,这种情况就会持续发生……奇怪的是,您是否试图在提交表单之前发布表单两次?第一次发布失败……请用户刷新表单以发布更多代码。哦,我遇到了类似的问题,不知道如何解决这个问题,但我选择的解决方法是在javascriptTempData中onclick上的submit与会话绑定后禁用submit按钮,当会话过期时,所有TempData值都将丢失