服务器因两个请求而超时

时间:2013-08-16 09:21:10

标签: c# asp.net events webforms

我有一个奇怪的问题。

在asp.net(C#)中,我有一个带有文本字段和按钮的Web表单。

文本字段启用了带有text_changed事件的autopostback。 该按钮甚至还有一个单击。

如果文本在字段中发生更改,并且用户单击按钮而不会首先失去对文本字段的关注,则这两个事件似乎会发生冲突"在服务器上,请求需要2-3分钟才能返回任何内容。

如果字段在字段中发生更改且字段在单击按钮之前失去焦点,则会单独触发事件并且一切正常。

我需要能够允许用户在他们更改文本时直接点击按钮。

有没有其他人看到这个问题,如果是这样,你怎么解决它?

2 个答案:

答案 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事件也会被忽略,只有文本更改事件才会触发。在文本更改事件中添加额外检查似乎可以解决此问题。这是一个轻微的缺陷,有时(并非所有时间)文本更改事件被调用两次,您可能必须在代码中处理此事。