使用VB.NET在“文本”框中添加属性

时间:2018-11-12 20:15:07

标签: javascript asp.net vb.net onfocus

我的ASP.NET页中有一个TextBox控件

<asp:TextBox ID="PassTB" runat="server" CssClass="PasswordTB" />

我想要添加一个名为OnFocus的新Attrribute 我通过添加

PassTB.Attributes.Add("OnFocus", "<%PassMessage%>")

Page Load子行中插入
并且该属性已添加,但不起作用
我专注于TextBox,而且代码甚至都没有通过Public sub

传递
Public Sub PassMessage(ByVal sender As Object, ByVal e As System.EventArgs)

这里的全部想法是举起一个带有适当消息的面板,以帮助客户创建密码。

1 个答案:

答案 0 :(得分:0)

最后与@ADyson的助手解决了难题。
从一开始就如此简单。这就是为什么我要给所有人以解决问题的原因。 首先,我们将以下属性添加到ASP.NET控件TextBox

<asp:TextBox ID="PassTB" OnFocus="MessageIn()" runat="server" CssClass="PasswordTB"  MaxLength="20" />

OnFocus属性不是控件的内置属性,但是如果我们像上面一样添加它,也不会引发任何错误。
Message Panel和“ cssClass”中,我们添加以下内容

.PassInstrPanel {
visibility: hidden;
text-align: left;
margin: 1px 1px 1px 1px;
width: auto;
height: auto;
background-color: antiquewhite;}

请注意Visibility"hidden" 这意味着它在客户端站点中未看到但在服务器站点中仍处于活动状态的相应面板
现在,既然我们完成了所有这些工作,就该在Java中添加两个函数了。

<script type="text/javascript">
    function MessageOut() {
            var m = document.getElementById("page_main_PassInstructionPanel");
        m.style.visibility = "hiden";
    }
    function MessageIn() {
            var m = document.getElementById("page_main_PassInstructionPanel");
        m.style.visibility = "visible";
    }
    </script>

加载页面时,不会看到任何消息,因为它是hidden
asp.net:TextBox控件获得焦点时,OnFocus属性运行Java函数MessageIn()并显示消息
最后,当我们按下“ I got it”按钮时,我们运行了另一个Java函数MessageOut()
这就是全部。
我要感谢@ADyson的宝贵助手。