你是想移出文本框的时候就执行textchange事件?然后单击按钮的时候就执行单击事件?
你把textchange这个事件的文本框的autopostback的值设为true即可。但这样做当你离开文本框的时候就会立即触发textchange事件。
如果你离开文本框后直接点击按钮,还是会先触发textchange事件,因为autopostback这个值设置了TURE的原因,所以不会立即执行CLICK事件。除非你将autopostback的值设为true设为FLASH,但是这样做你文本框发生变化后,鼠标离开文本框的时候不会触发事件,只有当单击BUTTON的时候,这时候会同时触发textchange和CLICK这2个事件,当然textchange还是优先于CLICK事件 .
如果你非要这么做是可以的
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
你还没了解asp.net的机制,这个涉及到回发的问题。
首先,web应用程序和windows应用程序是不一样的,asp.net的程序都是在服务器端执行的。
你改变了textbox的值,但是服务器这时候并不知道你修改了textbox的值,只有当你把textbox置成autopostback=true的时候,即失去焦点的时候,才会递交到服务器端。这时候,系统才会判别到文本框里的内容变化了,于是才会执行textchange事件,这个和windows form差别所在。同理,你点击按钮的时候,也会触发textchange事件,因为点击按钮相当于进行了一次回发。
而且我看到你的代码里边并没有onclick事情,你点击按钮,应该触发的是onblur失去焦点的时间。
你鼠标移开后,输入指针仍然的输入框里,所以输入框并没有失去焦点,你鼠标在任何一个地方点一下(包括你说的button),就会执行textchange事件。这个本来就是这个,你要想先执行textchange的话,就要输入完后在输入框的空白处点一下,再点按扭。
其实这个也不是什么问题,因为很多输入都是这样设计的,输入完后在旁边点一下,让输入框失去焦点。
或者你找下textbox的输入事件,边输入边触发的。
你要仅仅是把他的值赋给另一个textbox,用js就可以实现了吧,用后台多麻烦啊