Asp.net mvc 3 EF 4.0-保存会在测试环境中创建重复项,但不会在开发环境中创建

Asp.net mvc 3 EF 4.0-保存会在测试环境中创建重复项,但不会在开发环境中创建,asp.net-mvc-3,entity-framework,Asp.net Mvc 3,Entity Framework,最终编辑如果您正在看这个问题,请参阅我在下面发布的答案。最初的问题不是EF,而是我的JQuery实现 编辑:我已经确认这只发生在IE(特别是IE 7)中。我在Chrome上看不到同样的行为。我还没有测试过Firefox,但我们的环境中不支持FF,所以我并不担心。) 在我发布一堆代码之前,我只是想把它放在那里,看看其他人是否有过类似的经历,如果有,罪魁祸首是什么 我在一个MVC项目中创建了一个新实体。代码在我的本地环境中按预期工作。然而,当我将代码推出测试服务器环境时,相同的代码在保存时创建了两条

最终编辑如果您正在看这个问题,请参阅我在下面发布的答案。最初的问题不是EF,而是我的JQuery实现

编辑:我已经确认这只发生在IE(特别是IE 7)中。我在Chrome上看不到同样的行为。我还没有测试过Firefox,但我们的环境中不支持FF,所以我并不担心。)

在我发布一堆代码之前,我只是想把它放在那里,看看其他人是否有过类似的经历,如果有,罪魁祸首是什么

我在一个MVC项目中创建了一个新实体。代码在我的本地环境中按预期工作。然而,当我将代码推出测试服务器环境时,相同的代码在保存时创建了两条记录

我已经验证了数据库模式是相同的,所以我排除了这一可能的原因

还有谁经历过这样的事情吗?如果是,您是如何解决问题的


谢谢

我终于找到了一些javascript中的一个bug。这个问题与实体框架或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;
    });
});
$('input[type=“submit”]”)。每个(函数(){
$(this).hide().after(“”).next()按钮({
图标:{primary:$(this).attr('icon')},
标签:$(this.val()
})。单击(功能(事件){
event.preventDefault();
$(this.prev()。单击();
返回false;
});
});

这在Chrome中没有引起任何问题,但在IE中提交按钮触发了两次。为了解决这个问题,我在我的输入标记中添加了onclick=“return false;”,问题就消失了。

我终于找到了一些javascript中的一个bug。这个问题与实体框架或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;
    });
});
$('input[type=“submit”]”)。每个(函数(){
$(this).hide().after(“”).next()按钮({
图标:{primary:$(this).attr('icon')},
标签:$(this.val()
})。单击(功能(事件){
event.preventDefault();
$(this.prev()。单击();
返回false;
});
});

这在Chrome中没有引起任何问题,但在IE中提交按钮触发了两次。为了解决这个问题,我在输入标记中添加了onclick=“return false;”,问题就消失了。

没有。你能把代码贴在保存的地方吗?您确定要将相同的代码推送到测试服务器吗?您在本地使用什么数据库?在测试服务器上呢?我已经确认代码被正确推出。我在本地和测试环境中使用SQL Server 2008。数据库物理上位于两个不同的服务器上,但模式是相同的。我刚刚发现复制只发生在IE中。我刚刚启动Fiddler并确认IE发送了两次相同的POST请求!啊!!你能发布你的视图模型和javascript(如果有的话)吗?没有。你能把代码贴在保存的地方吗?您确定要将相同的代码推送到测试服务器吗?您在本地使用什么数据库?在测试服务器上呢?我已经确认代码被正确推出。我在本地和测试环境中使用SQL Server 2008。数据库物理上位于两个不同的服务器上,但模式是相同的。我刚刚发现复制只发生在IE中。我刚刚启动Fiddler并确认IE发送了两次相同的POST请求!啊!!你能发布你的视图模型和javascript(如果有的话)吗?