最终编辑如果您正在查看此问题,请参阅我在下面发布的答案。最初的问题不在于EF,而在于我的JQuery实现。
编辑:我已经确认这只发生在IE(特别是IE 7)中。我在Chrome中看不到相同的行为。我还没有测试过Firefox,但我们在环境中不支持FF,所以我并不担心它。)
在我发布一堆代码之前,我只是想把它放在那里,看看是否有其他人经历过类似的事情,如果有的话,他们的罪魁祸首是什么。
我在创建新实体的MVC项目中有代码。代码在我的本地环境中按预期工作。但是,当我将代码推送到我们的测试服务器环境时,相同的代码会在保存时创建两个记录。
我已经验证数据库模式是相同的,所以我已经将其排除在外。
有没有其他人经历过这样的事情?如果是这样,你做了什么来解决问题?
由于
答案 0 :(得分:0)
我终于将问题跟踪到一些javascript中的错误。该问题与Entity Framework或MVC无关。我有一些jQuery代码可以帮助我添加图标来提交按钮,而在IE中它导致提交发生两次。
如果有人感兴趣,这是违规代码:
$('input[type="submit"]').each(function () {
$(this).hide().after('<button>').next().button({
icons: { primary: $(this).attr('icon') },
label: $(this).val()
}).click(function (event) {
event.preventDefault();
$(this).prev().click();
return false;
});
});
这在Chrome中没有引起任何问题,但在IE中,提交按钮会触发两次。为了修复它,我添加了onclick =“return false;”到我的输入标签,问题就消失了。