我正在研究.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"/>
但是,如果将文本放在文本框中并单击按钮,则会调用文本更改事件函数。
答案 0 :(得分:1)
你的问题是,ASP中的事件只是在PostBack之后引发的
如果按钮是预先发布的,则回发消息,并且客户回发(以及名称)他的字段数据。
在此PostBack之后,服务器(您的应用程序)会调用上一次Page_Load期间发生的所有事件
据我所知,没有抛出事件的真实顺序,但无论如何都应抛出textChanged事件。
如果你想在Text改变之后直接发送你的textChanged事件,你必须使用Myat Thu已经提到的“AutoPostBack”。请注意,这会增加您的流量,并且还可以更改代码的流量!
我建议设置indivnen事件,以便用户可以点击“PostBack Button”,并在一个帖子后面调用所有事件。这样可以节省服务器上的流量和负载
但这只是我个人的意见。
答案 1 :(得分:0)
您是在为窗口应用程序或Web应用程序编写代码吗?如果您正在为Web应用程序编写,则TextBox的属性包括:
CaseValidation
的AutoPostBack
您应该为TextBox对象试用这两个属性。