【发布时间】:2018-11-12 20:15:06
【问题描述】:
我的 ASP.NET 页面中有一个 TextBox 控件
<asp:TextBox ID="PassTB" runat="server" CssClass="PasswordTB" />
我想要的是添加一个名为OnFocus 的新属性
我通过添加这个来做到这一点
PassTB.Attributes.Add("OnFocus", "<%PassMessage%>")
输入Page Load sub
并且添加了属性,但它不起作用
我专注于TextBox,代码甚至没有从Public sub传递过来
Public Sub PassMessage(ByVal sender As Object, ByVal e As System.EventArgs)
这里的所有想法是提出一个带有适当消息的面板,以帮助客户创建密码。
【问题讨论】:
-
"onfocus" 期望得到一个 JavaScript 方法的名称...这是客户端的东西,你不能用它来触发随机服务器方方法。如果你想在那个时候运行一些服务器端代码,你必须对 WebMethod 进行 AJAX 调用。但是当用户关注文本框时,您实际上希望您的应用程序做什么?也许它可以很容易地在 JavaScript 中完成。
-
@ADyson 是的,我也这样做了,并且可以正常添加属性。但也行不通。不工作就通过。是否可以帮助我提供代码示例?
-
"是的,我也这样做了"...到底做了什么?我认为你没有理解我的评论。
-
@ADyson 我所做的是
-
好的,当您这样做时,您期望会发生什么? 1)您的 onfocus 属性实际上并没有执行您的 JS 方法。 2) 即使这样做了,它也不会将参数传递给方法,因此
obj将始终为空,3)document.getElementById("PassTB")可能找不到正确的元素,因为 ASP.NET 为每个容器生成唯一的 ID - 除非您更改 web.config 中的设置。 4) 文本框没有innerHTML属性。 5) 目前尚不清楚这与您的 VB 代码有什么关系。
标签: javascript asp.net vb.net onfocus