【问题标题】:Adding Attribute in Text box using VB.NET使用VB.NET在文本框中添加属性
【发布时间】: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


【解决方案1】:

终于和@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:TextBoxcontrol 聚焦OnFocus 属性时,运行java 函数MessageIn() 并出现消息
最后,当我们按下“我知道了”按钮时,我们运行了另一个 Java 函数 MessageOut()
仅此而已。
我要感谢@ADyson 的宝贵助手。

【讨论】:

    猜你喜欢
    • 2023-03-10
    • 2015-05-08
    • 2011-09-21
    • 2012-07-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-01
    相关资源
    最近更新 更多