Javascript 在c#代码隐藏中添加mouseover属性

Javascript 在c#代码隐藏中添加mouseover属性,javascript,c#,asp.net,Javascript,C#,Asp.net,我正在使用ASP.NET,在后面的代码中,我需要添加一个属性,当用户将鼠标放在text1上时,该属性使text2出现;下面是我目前拥有的 JS: C#: HTML: 这里有两件事: Visible=“false”不是样式,而是服务器端属性。将其设置为false意味着根本不会呈现控件。所以它甚至不存在于客户端,当然也没有办法通过javascript访问它。取而代之的是考虑分配一个 CSS 类,或者至少是一种内嵌样式,如样式=“可见性:隐藏”< /代码> 。 您希望将控件的id用引号括起来。假设您

我正在使用ASP.NET,在后面的代码中,我需要添加一个属性,当用户将鼠标放在text1上时,该属性使text2出现;下面是我目前拥有的

JS:

C#:

HTML:


这里有两件事:


  • Visible=“false”
    不是样式,而是服务器端属性。将其设置为false意味着根本不会呈现控件。所以它甚至不存在于客户端,当然也没有办法通过javascript访问它。取而代之的是考虑分配一个<代码> CSS 类,或者至少是一种内嵌样式,如<代码>样式=“可见性:隐藏”< /代码>

  • 您希望将控件的
    id
    用引号括起来。假设您的控件以id“blah_blah_text2”结束,您的javascript将如下所示

    show(blah_blah_text2);
    
    所以js会尝试将“blah_blah_text2”作为变量进行评估,当然会失败。相反,你想要

    show('blah_blah_text2');
    
    所以

  • 此外,我也不太确定什么是
    visible=true
    代表。据我所知,DOM对象中没有这样的属性。您实际上是指
    document.getElementById(name.style.visibility=“visible”

    当用户将鼠标放在text1上时,会出现text2; 下面是我目前拥有的

    Html标题属性用于此目的

    试试这个:

    text2.Attributes.Add("title", text2.ClientID);
    

    希望您正在寻找:

    text2.Attributes.Add("onmouseover", "show('" + text2.ClientID +"')");
    

    您是否面临任何错误?请确保不要将asp.net服务器属性与
    css
    属性混淆
    visibility=true
    是一个asp.net服务器属性,在呈现页面之前解析该属性。javascript对这些属性一无所知像
    style=“visible:false”这样的行样式是错误的。您必须使用“显示:无”或“可见性:隐藏;”。第二个将保持占位符的原样。还要注意,他的javascript需要修改为…
    document.getElementById(name.style.visibility='visible'。。。
    
    show('blah_blah_text2');
    
    "show('" + text2.ClientID +"')"
    
    text2.Attributes.Add("title", text2.ClientID);
    
    text2.Attributes.Add("onmouseover", "show('" + text2.ClientID +"')");