ASP.Net 按钮单击


对于 ASP.NET 页面中的按钮,我需要第二次单击它才能触发按钮单击事件。 我认为有些设置可能不正确。 如何使仅单击一次即可触发事件? 谢谢。

解决方案1

这似乎是一个非常常见的问题,其中事件处理程序方法运行两次。

这是由于VS.NET插入引起的 2 wireup of the event handler

– 一旦进入 aspx (HTML) 例如: <asp:button ...="" onclick="btnTest_Click" xmlns:asp="#unknown" />

– 一旦进入 VS.NET 生成部分(InitializeComponent),例如:
this.btnTest.Click += new System.EventHandler(this.btnTest_Click);

在我看来,最简单的解决方案是简单地从 .aspx 页面中删除“OnClick…”HTML 标记。

例如改变这个:
<asp:button id="btnTest" runat="server" text="Test" onclick="btnTest_Click" xmlns:asp="#unknown" />

对此:
<asp:button id="btnTest" runat="server" text="Test" xmlns:asp="#unknown" />

重建,宾果游戏! – 每次点击 1 个事件。

撕自 这里[^]

-KR

解决方案2

请参阅我在 2014 年 3 月 14 日的评论:
该问题可能是由另一个控件(例如文本框)引起的。 无论出于何种原因,我必须在单击按钮之前先单击一下。 为了消除这个问题,我修改了运行textbox_TextChanged()的代码。 然后,单击该按钮就不需要再执行两次了。 感谢所有审稿人。
感谢审稿人,特别是。 那些提供的意见或解决方案。

解决方案3

如果您使用 ID 变量而不进行初始化,这可能是错误的根源。

解决方案4

引用:

非常感谢您的这个提示。 在所有其他聪明的建议都毫无结果之后,这正是简单而可靠的解决方案。 因此,只需为按钮分配一个 ID,即使您不需要按钮的 ID。 但仅仅定义按钮的 ID 就解决了我的问题,并且点击事件立即触发!

コメント

タイトルとURLをコピーしました