ASP.NET TextBox LostFocus事件
发布时间:2021-02-21 04:02:09 所属栏目:asp.Net 来源:互联网
导读:当TextBox失去焦点时,我需要在服务器端触发代码. 我知道有onblur客户端事件,并且没有LostFocus事件,所以当TextBox失去焦点时,如何才能导致回发? 更新: 我发现blog似乎给了一个相当不错的解决方案.它涉及向TextBox子类添加自定义事件,并注册在onblur JavaScr
当TextBox失去焦点时,我需要在服务器端触发代码. 我知道有onblur客户端事件,并且没有LostFocus事件,所以当TextBox失去焦点时,如何才能导致回发? 更新: 我发现blog似乎给了一个相当不错的解决方案.它涉及向TextBox子类添加自定义事件,并注册在onblur JavaScript客户端事件中调用服务器端事件的客户端脚本. 以下是我在VB中的实现: Public Class MyTextBox Inherits TextBox Implements IPostBackEventHandler Protected Overrides Sub OnInit(ByVal e As System.EventArgs) MyBase.OnInit(e) If Not Page.ClientScript.IsClientScriptBlockRegistered("OnBlurTextBoxEvent") Then Page.ClientScript.RegisterStartupScript(MyBase.GetType,"OnBlurTextBoxEvent",GetScript,True) Attributes.Add("onblur","OnBlurred('" & UniqueID & "','')") End If End Sub Public Delegate Sub OnBlurDelegate(ByVal sender As Object,ByVal e As EventArgs) Public Event Blur As OnBlurDelegate Protected Sub OnBlur() RaiseEvent Blur(Me,EventArgs.Empty) End Sub Private Function GetScript() As String Return "function OnBlurred(control,arg)" & vbCrLf & _ "{" & vbCrLf & _ " __doPostBack(control,arg);" & vbCrLf & _ "}" End Function Public Sub RaisePostBackEvent(ByVal eventArgument As String) Implements System.Web.UI.IPostBackEventHandler.RaisePostBackEvent OnBlur() End Sub End Class 解决方法我发现 blog似乎给了一个相当不错的解决方案.它涉及向TextBox子类添加自定义事件,并注册在onblur JavaScript客户端事件中调用服务器端事件的客户端脚本.以下是我在VB中的实现: Public Class MyTextBox Inherits TextBox Implements IPostBackEventHandler Protected Overrides Sub OnInit(ByVal e As System.EventArgs) MyBase.OnInit(e) If Not Page.ClientScript.IsClientScriptBlockRegistered("OnBlurTextBoxEvent") Then Page.ClientScript.RegisterStartupScript(MyBase.GetType,arg);" & vbCrLf & _ "}" End Function Public Sub RaisePostBackEvent(ByVal eventArgument As String) Implements System.Web.UI.IPostBackEventHandler.RaisePostBackEvent OnBlur() End Sub End Class (编辑:甘南站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net(C#)把汉字转化成全拼音函数(全拼)
- asp.net – 如何添加.aspx页面到现有的MVC 4项目?
- asp.net-mvc – ASP.NET MVC中的Windows Live ID
- ASP.Net – AJAX UpdatePanel中的Javascript
- asp.net 删除项目文件/文件夹IIS重启,Session丢失问题
- 设置ASP.NET页面不被缓存(客户端/服务器端取消缓存方法)
- asp.net – 未知的服务器标签’ajaxToolkit:CalendarExten
- ASP.net WebAPI跨域调用问题的解决方法
- asp.net-identity交易问题
- asp.net – 为什么Global.asax事件在我的ASP.NET网站没有触