LostFocus在asp中的文本框事件

时间:2011-04-13 21:39:37

标签: c# asp.net

您好我正在开发ASP.net中的网络应用程序。我正在创建一个注册表单,当用户输入他们想要使用的用户名时,它会对数据库执行检查以查看用户名是否已存在。我不希望在文本更改事件中完成此操作,因为我不希望每次在文本框中输入字符时都尝试查询数据库。当我想要做的是当文本框失去焦点时,通过点击下一个字段或点击另一个字段,然后检查数据库中的用户名。如果用户名已经退出,那么工具提示之类的消息会放在字段的旁边。

如果文本框失去焦点,我该如何执行此操作。

2 个答案:

答案 0 :(得分:6)

要在客户端事件上调用服务器端方法,您需要执行以下操作:

1-创建服务器端方法:

void DoSomething(...) { ... }

2-实现带有一个字符串参数的System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(您可以将名称指定给该参数的值):

public void RaisePostBackEvent(string eventArgument) 
{
        DoSomething(...);
}

3-编写脚本以触发回发:

function TriggerPostBack(control, arg){
    __doPostBack(control, arg);
}

4-需要时调用PostBack触发功能:

<asp:TextBox .... onblur="TriggerPostBack('textBox', document.getElementById('txtUsername').value)" .. /> 

答案 1 :(得分:2)

onblur是您正在寻找的事件。请参阅this example