有一个TEXTBOX,它的AUTOPOSTBACK属性必需设为TRUE,但我点了按钮以后,她就不走按钮本身的事件了,只走了TEXTCHANGED事件,请问怎么解决,AUTOPOSTBACK属性只能为TRUE.请高手帮忙.
解决方案 »
- File.Exists判断远程共享目录下的文件。
- 请问各位,固定richtextbox 的宽度,然后让它的高度根据输入的内容自动适应,有什么办法?
- 部署安装程序的问题
- txt文件问题 白送分~~先来先拿~~
- 中学生自学C#遇到的问题(五题百分)
- 一个简单的正则表达室
- C#里有没有向VFP(学了很久了,好像是有这个函数)中的 & 一样宏代换
- 禁止一个类被实例化是不是这样做?
- 请教:String.Format(string format,object arg0)中的format如果有{或}就会出错,有办法吗?
- 微软的开发工具都要去哪里下载呢?
- 关于车载系统gps的二次开发应该如何入手呢?高分求比较有价值的资料?
- 关于GridView1_SelectedIndexChanged的问题
你用 f11
我想实现的效果是在TEXTBOX内容更改后,直接点按钮,程序既走TEXTCHANGED事件又走按钮的CLICK事件.
BUTTON的CLICK事件:
protected void Button1_Click(object sender, EventArgs e)
{
// 处理的事件
}
TEXT的TEXTCHANGED事件:
protected void TextBox1_TextChanged(object sender, EventArgs e)
{
Session.Add("isChanged", true);
}
删除AUTOPOSTBACK=TRUE就可以了此时点击按钮后,会进行form提交,当然不只是响应按钮事件,因为
此时服务器会判断form的各个控件的变化,并进行响应的事件响应如果你加AUTOPOSTBACK=TRUE此时会给textbox生成一些javascript用于form提交(onchange="javascript:setTimeout('__doPostBack(\'TextBox3\',\'\')', 0)")
那么此时你点击按钮,实际上是先触发了文本框的onchange事件,此事件直接讲form提交了,
所以刚好忽略了按钮的点击事件
那么你想办法把。net自动生成的javascript提交脚本忽略掉
protected void Page_Load(object sender, EventArgs e)
{
this.TextBox1.Attributes.Add ( "onchange", "return;" );
}
return;语句会自动加在onchange属性的第一行,刚好忽略掉自动生成的js提交form代码
进入页面就把textbox的值用session 或者什么保存,点按钮的时候,进行比较,如果变了,那再用Session.Add("isChanged", true); 这样能不能满足你的要求呢,不知道你的具体情况,说错了,你就担当着。