Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/334.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 是否可以在asp.net文本框失去焦点之前触发文本更改事件?_C#_Asp.net_Javascript - Fatal编程技术网

C# 是否可以在asp.net文本框失去焦点之前触发文本更改事件?

C# 是否可以在asp.net文本框失去焦点之前触发文本更改事件?,c#,asp.net,javascript,C#,Asp.net,Javascript,我有一个asp.net文本框,我想在其中检查输入文本框的文本是否为>0。一旦我在文本框外进行制表或单击,它就会工作,但如果我将焦点放在文本框上,它不会触发文本更改事件,因此我有以下场景,我想在且仅当TextBox.Text.Length=0时启用某些功能。现在,如果我将插入符号放在文本框中并删除所有字符,然后将插入符号留在文本框中,使其仍然具有焦点,并用鼠标单击按钮,它将不会执行它应该执行的操作,因为它从未触发文本更改事件。这样的事情怎么处理?朋友、keyup、keydown和keypress是

我有一个asp.net文本框,我想在其中检查输入文本框的文本是否为
>0
。一旦我在文本框外进行制表或单击,它就会工作,但如果我将焦点放在文本框上,它不会触发文本更改事件,因此我有以下场景,我想在且仅当
TextBox.Text.Length=0
时启用某些功能。现在,如果我将插入符号放在文本框中并删除所有字符,然后将插入符号留在文本框中,使其仍然具有焦点,并用鼠标单击按钮,它将不会执行它应该执行的操作,因为它从未触发文本更改事件。这样的事情怎么处理?

朋友、
keyup
keydown
keypress
是你的朋友

最好的办法是编写一些客户端javascript来做你想做的事情。TextChanged事件处理程序需要回发到服务器,在文本框失去焦点之前回发到服务器是不可能的。除非这是您想要的,否则我建议使用前者。

您也可以使用setInterval javascript方法来定时检查文本框值的更改。请记住,您需要使用表单名后跟控件名和值来引用控件

setInterval(MethodName, 100);

function MethodName()
{
   if(formname.controlid.value.length > 0)
   {
     //do something here
   {
}

这些事件是用于文本框的吗?是的,在javascript中,可以绑定这些事件。在ASP.Net中这有点困难,因为您必须在代码中设置属性,但这是可行的。