asp.net提供一种很好的模块级的复用技术――用户控件,大大方便了web网站的建设,提高了效率。用户控件使用多了,碰到的问题也会增多。最近遇到一个问题,就是如果在一个用户控件中要使用到客户端脚本,而这个客户端的脚本又要访问到控件中包含的控件,问题就出现了。<%@ Control Language="c#" AutoEventWireup="false" Codebehind="WebUserControl1.ascx.cs" Inherits="WebApplication3.WebUserControl1" TargetSchema="http://schemas.microsoft.com/intellisense/ie5"%> <asp:TextBox id="TextBox1" runat="server" onmouseover="over()"></asp:TextBox> <script language=javascript> <!-- function over() {    document.all.<%= TextBox1.ClientID %>.value = "kent"; } //--> </script>报一个脚本错误:“缺少对象”   

解决方案 »

  1.   

    js脚本没错,放入正确的对象id就对了
      

  2.   

    要这么复杂吗?<asp:TextBox id="TextBox1" 
    runat="server" onmouseover="this.value='kent'"></asp:TextBox>
      

  3.   

    我只是做一个例如啊
    我的javascript是较复杂的,是要判断控件的属性的
    document.all.<%= TextBox1.ClientID %>.value = "kent"; 
    这样写法有错吗,但总是提示:“缺少对象” 
      

  4.   

    document.all.<%= TextBox1.ClientID %>.value = "kent"; 
    这样通过了
    但其它属性如:text,visable都不能通过
    我的自定义控件中用了calendar,在网页代码中是解成table的
      

  5.   

    脚本里没有text属性的,visibility属于对象的style.visibility
    for exam:
    document.all.xxx.style.visibility='hidden'