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