Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/2.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 HtmlButton处理程序在单击时触发两次(当AutoEventWireup=";True";时)_Asp.net - Fatal编程技术网

Asp.net HtmlButton处理程序在单击时触发两次(当AutoEventWireup=";True";时)

Asp.net HtmlButton处理程序在单击时触发两次(当AutoEventWireup=";True";时),asp.net,Asp.net,我有一个html按钮,见下文。当单击它并且AutoEventWireup=“true”时,Save\u Click Click处理程序将触发两次。当AutoEventWireup=“False”时,它将触发一次 为什么要发射两次?按钮没有注册两次,也没有添加事件处理程序的代码。使用母版页,不使用Ajax <button id="Save" accesskey="v" type="submit" runat="server" onserverclick="Save_Click"><

我有一个html按钮,见下文。当单击它并且AutoEventWireup=“true”时,Save\u Click Click处理程序将触发两次。当AutoEventWireup=“False”时,它将触发一次

为什么要发射两次?按钮没有注册两次,也没有添加事件处理程序的代码。使用母版页,不使用Ajax

<button id="Save" accesskey="v" type="submit" runat="server" onserverclick="Save_Click"></button>


只是一个猜测:处理程序没有被触发两次,但您在Page_Load事件中设置了类似的行为,使其看起来好像被触发了两次

好的,我发现onserverclick事件和type=“submit”都会触发一个HTMLButton。当我删除type=“submit”时,它会触发一次。这种古怪的行为花了我很长时间才发现

现在(至少在.net 4中)更好:

<button runat="server">

默认情况下,其行为与type=“submit”(单击时触发两次)相同,因此,为了使其正常工作,我们应明确设置type=“button”,即:



在返回页面之前,处理程序中的断点被命中两次。处理程序在表中插入一条记录,我看到两条记录。代码中没有其他地方有insert,也没有数据库触发器。代码中一定有其他东西导致它触发,我认为我们需要查看页面的所有相关代码。按钮不太可能是自己完成的。在我的情况下,我没有告诉它使用type=“submit”,我只是没有指定类型。我明确指定了type=“button”,之后它就被修复了。根据您运行的ASP.NET版本或使用的浏览器,这有着有趣的不同行为。例如,我没有指定
类型
,它在Fireofox上运行良好,但Chrome假设它是一个
提交
,而不是
按钮
解决了我的问题。谢谢我必须在一些程序中解决这个问题。。。。这从来都不是什么新鲜事,正是这一点导致了这个问题。非常感谢!
<button id="ButtonSubscribe2" runat="server" type="button" onserverclick="Save_Click"></button>