单击按钮时触发文本更改事件

时间:2011-09-26 08:39:59

标签: c#-2.0

我正在研究.net 2.0我正在使用多个文本框填充网格视图。文本框具有文本更改事件。还有一个带有点击事件的按钮。我面临的问题是,当我在文本框中输入文本然后单击按钮时,文本更改事件将被触发,并且执行不会到达按钮单击块。如何在两个事件都被触发时检测按钮是否被点击。

文本框中包含文本更改事件的函数调用

<asp:TextBox ID="txtChassis" runat="server" CssClass="form_text_box" AutoPostBack="true" OnTextChanged="Chassis_TextChanged"></asp:TextBox>

并调用按钮点击事件的功能。

<input class="form_button" id="btnSearch" title="Show Details" accesskey="S" type="submit"
                                                                    value="SAVE" name="btnSave" runat="server" onserverclick="btnSearch_ServerClick"/>

但是,如果将文本放在文本框中并单击按钮,则会调用文本更改事件函数。

2 个答案:

答案 0 :(得分:1)

你的问题是,ASP中的事件只是在PostBack之后引发的 如果按钮是预先发布的,则回发消息,并且客户回发(以及名称)他的字段数据。
在此PostBack之后,服务器(您的应用程序)会调用上一次Page_Load期间发生的所有事件 据我所知,没有抛出事件的真实顺序,但无论如何都应抛出textChanged事件。
如果你想在Text改变之后直接发送你的textChanged事件,你必须使用Myat Thu已经提到的“AutoPostBack”。请注意,这会增加您的流量,并且还可以更改代码的流量! 我建议设置indivnen事件,以便用户可以点击“PostBack Button”,并在一个帖子后面调用所有事件。这样可以节省服务器上的流量和负载 但这只是我个人的意见。

答案 1 :(得分:0)

您是在为窗口应用程序或Web应用程序编写代码吗?如果您正在为Web应用程序编写,则TextBox的属性包括:

  

CaseValidation
   的AutoPostBack

您应该为TextBox对象试用这两个属性。