Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 为什么我的SQL数据库中有多个条目?_Asp.net_Sql - Fatal编程技术网

Asp.net 为什么我的SQL数据库中有多个条目?

Asp.net 为什么我的SQL数据库中有多个条目?,asp.net,sql,Asp.net,Sql,我在看同一个应用程序的两个版本,它们应该是完全相同的。该应用程序是用VB.NET编写的ASP.NET。问题是,在应用程序的本地版本上,对数据库的简单插入调用会添加一个应该添加的条目,但在同一版本的远程部署上,相同的插入不知何故会发生两次 我知道这是一个非常模糊的问题。我真正想知道的是,这里是否有人以前见过类似的情况,以及是否由于DB(或DB中的表)的配置方式而存在问题。页面是否有AutoEventWireUp=True以及保存数据的按钮单击的Handles语句 如果是,请尝试删除AutoEven

我在看同一个应用程序的两个版本,它们应该是完全相同的。该应用程序是用VB.NET编写的ASP.NET。问题是,在应用程序的本地版本上,对数据库的简单插入调用会添加一个应该添加的条目,但在同一版本的远程部署上,相同的插入不知何故会发生两次


我知道这是一个非常模糊的问题。我真正想知道的是,这里是否有人以前见过类似的情况,以及是否由于DB(或DB中的表)的配置方式而存在问题。

页面是否有AutoEventWireUp=True以及保存数据的按钮单击的Handles语句

如果是,请尝试删除AutoEventWireUp=True


如果没有,请尝试以其他方式将单击事件分配给按钮两次

页面是否具有AutoEventWireUp=True以及保存数据的按钮单击句柄语句

如果是,请尝试删除AutoEventWireUp=True


如果没有,请尝试找到将单击事件分配给按钮两次的其他方法。我遇到的一件事是人们双击按钮。这将导致触发onclick事件

您是通过门户网站执行测试的人还是从客户那里收到反馈

编辑:

我过去解决这个问题的方法是创建一个自定义按钮,单击该按钮时会被禁用,直到返回回发。以下是一个例子:


另一次我看到这种情况是,如果有人在点击一个按钮后立即将F5捣碎,然后重新提交回发。

我遇到的一件事是人们双击一个按钮。这将导致触发onclick事件

您是通过门户网站执行测试的人还是从客户那里收到反馈

编辑:

我过去解决这个问题的方法是创建一个自定义按钮,单击该按钮时会被禁用,直到返回回发。以下是一个例子:


我见过的另一次情况是,如果有人在单击按钮并重新提交回发后立即将F5捣碎。

您可以使用SQL Profiler分析幕后发生的事情。查看是否正在推出相同的插入。

您可以使用SQL Profiler分析幕后发生的情况。查看是否正在推出相同的插入。

使用SQL探查器的好建议。我以前从未使用过它,但它帮助我了解了更多的情况。我现在看到,在应该调用一次的时候,内部带有insert语句调用的方法被调用了两次。令人惊讶的是,它只发生在远程服务器上,而不是本地服务器上。据我所知,唯一的区别是,第一个方法调用使用if语句包装,该语句检查在回发时传递的隐藏变量(该代码很旧,应该删除),第二个方法调用在buttonclick事件中触发

因此,当单击与buttonclick事件处理程序相同的按钮时,通过远程服务器上的一个小JS片段将隐藏变量设置为“1”。但是,在本地服务器上,它没有设置为“1”,默认为“0”。现在,我想知道是否有一些windows更新改变了客户端JS的执行方式(我正在进入这台机器,并通过IE7在他们的服务器上运行我们的应用程序),而不是我们的


很抱歉解释得太长,但我想不出更好的方式来表达它。

使用SQL分析器的好建议。我以前从未使用过它,但它帮助我了解了更多的情况。我现在看到,在应该调用一次的时候,内部带有insert语句调用的方法被调用了两次。令人惊讶的是,它只发生在远程服务器上,而不是本地服务器上。据我所知,唯一的区别是,第一个方法调用使用if语句包装,该语句检查在回发时传递的隐藏变量(该代码很旧,应该删除),第二个方法调用在buttonclick事件中触发

因此,当单击与buttonclick事件处理程序相同的按钮时,通过远程服务器上的一个小JS片段将隐藏变量设置为“1”。但是,在本地服务器上,它没有设置为“1”,默认为“0”。现在,我想知道是否有一些windows更新改变了客户端JS的执行方式(我正在进入这台机器,并通过IE7在他们的服务器上运行我们的应用程序),而不是我们的


对不起,解释得太长了,但我想不出更好的说法。

您能不能再给我们一些信息?可能是您执行的SQL?插入是否由事件触发?可能是有人点击了按钮两次或其他什么。你用什么来访问数据库?ADO,NHibernate,Linq?你能不能再给我们一些信息?可能是您执行的SQL?插入是否由事件触发?可能是有人点击了按钮两次或其他什么。你用什么来访问数据库?ADO、NHibernate、Linq?这正是我在ASP.NET开发早期一直在做的事情。如果您有AutoEventWireUp+句柄,它实际上会调用按钮的代码两次。这正是我在ASP.NET开发早期一直在做的事情。如果您有AutoEventWireUp+句柄,它实际上会调用按钮的代码两次。