我有一个奇怪的问题。
在asp.net(C#)中,我有一个带有文本字段和按钮的Web表单。
文本字段启用了带有text_changed事件的autopostback。 该按钮甚至还有一个单击。
如果文本在字段中发生更改,并且用户单击按钮而不会首先失去对文本字段的关注,则这两个事件似乎会发生冲突"在服务器上,请求需要2-3分钟才能返回任何内容。
如果字段在字段中发生更改且字段在单击按钮之前失去焦点,则会单独触发事件并且一切正常。
我需要能够允许用户在他们更改文本时直接点击按钮。
有没有其他人看到这个问题,如果是这样,你怎么解决它?
答案 0 :(得分:0)
最好使用jquery。
better to Use Keyup Or Keydown of jquery event instead of textchanged event.
and false the autopost property of textbox.
答案 1 :(得分:0)
我不确定这是否能解决你的问题,但试试这个:
protected void TextBox2_TextChanged(object sender, EventArgs e)
{
if (Request.Form.Get("__EVENTTARGET") == Button2.UniqueID)
return;
Debug.WriteLine(TextBox2.Text);
}
protected void Button2_Click(object sender, EventArgs e)
{
Debug.WriteLine("Text");
}
请注意检查EventTarget。当我测试它时,似乎即使单击按钮(没有标签),click事件也会被忽略,只有文本更改事件才会触发。在文本更改事件中添加额外检查似乎可以解决此问题。这是一个轻微的缺陷,有时(并非所有时间)文本更改事件被调用两次,您可能必须在代码中处理此事。