C# Javascript错误';对象没有';不支持此属性或方法';在document.getElementByID上?

C# Javascript错误';对象没有';不支持此属性或方法';在document.getElementByID上?,c#,javascript,asp.net,internet-explorer-8,master-pages,C#,Javascript,Asp.net,Internet Explorer 8,Master Pages,我试图在用户单击面板(在TableCell中)时运行此JS函数。此面板是内容页中的一个元素,与具有内容占位符的母版页一起使用。当我尝试单击面板时,抛出以下错误: Microsoft JScript运行时错误:对象不支持此属性或方法 以下是母版页ASPX的相关代码: <link rel="Stylesheet" href="../includes/styles.css" /> <script type="text/javascript" languag

我试图在用户单击面板(在TableCell中)时运行此JS函数。此面板是内容页中的一个元素,与具有内容占位符的母版页一起使用。当我尝试单击面板时,抛出以下错误:

Microsoft JScript运行时错误:对象不支持此属性或方法

以下是母版页ASPX的相关代码:

       <link rel="Stylesheet" href="../includes/styles.css" />
       <script type="text/javascript" language="javascript">
           function swapDirections(control) {
               var main = document.getElementByID('ct100_TableContent_' + control);
               var long = document.getElementById('ct100_TableContent_' + control + '_long');
               var short = document.getElementById('ct100_TableContent_' + control + '_short');

               var mainhtml = main.innerHTML;
               var longhtml = long.innerHTML;
               var shorthtml = short.innerHTML;

               if (mainhtml.length == shorthtml.length)
                   main.innerHTML = longhtml;
               else
                   main.innerHTML = shorthtml;
           }
        </script>

功能swapDirections(控制){
var main=document.getElementByID('ct100\u TableContent\u'+控件);
var long=document.getElementById('ct100_TableContent_'+control+'u long');
var short=document.getElementById('ct100_TableContent_u'+control+'u short');
var mainhtml=main.innerHTML;
var longhtml=long.innerHTML;
var shorthtml=short.innerHTML;
if(mainhtml.length==shorthtml.length)
main.innerHTML=longhtml;
其他的
main.innerHTML=shorthtml;
}
以下是内容页的相关代码:

            Panel rigDirections = new Panel();
            rigDirections.CssClass = "clip";
            rigDirections.ID = u.Id.ToString() + "_RD";
            string MainDivRD = rigDirections.ClientID;
            Literal rigDir = new Literal();
            string sshort = "";
            if (u.RigDirections.ToLower().Length > (textCutOFF + 4))
            {
                sshort = Server.HtmlEncode(u.RigDirections.ToLower().Substring(0, textCutOFF).Trim()) + " ...";
                rigDir.Text = "<a class=RD_RA title=\"Click to Expand\" href=\"javascript: swapDirections('" + MainDivRD + "')\">" + sshort + "</a>"; ;
            }
            else
            {
                sshort = Server.HtmlEncode(u.RigDirections.ToLower().Trim());
                rigDir.Text = sshort ;
            }
            string slong = Server.HtmlEncode(u.RigDirections.ToLower().Trim());

            rigDirections.Controls.Add(rigDir);
            cell.Controls.Add(rigDirections);    
Panel rigDirections=新面板();
rigDirections.CssClass=“clip”;
rigDirections.ID=u.ID.ToString()+“_-RD”;
字符串MainDivRD=rigDirections.ClientID;
Literal rigDir=new Literal();
字符串sshort=“”;
如果(u.RigDirections.ToLower().Length>(文本截止+4))
{
sshort=Server.HtmlEncode(u.RigDirections.ToLower().Substring(0,textCutOFF.Trim())+“…”;
rigDir.Text=“”;
}
其他的
{
sshort=Server.HtmlEncode(u.RigDirections.ToLower().Trim());
rigDir.Text=sshort;
}
字符串slong=Server.HtmlEncode(u.RigDirections.ToLower().Trim());
rigDirections.Controls.Add(rigDir);
单元格.Controls.Add(单元格方向);
以及内容页ASPX:

      <asp:Content ID="Content1" ContentPlaceHolderID="TableContent" Runat="Server">

       <asp:Panel ID="pnlTable" Width="950" runat="server">

       </asp:Panel>
      </asp:Content>

在函数的第一行抛出错误

我已经用尽了我的互联网搜索技能,我以前从未使用过JS,所以如果有人有任何想法,我将非常感谢他们

谢谢


badPanda

它应该是document.getElementById而不是document.getElementById。

javascript区分大小写
document.getElementByID()
不是一个函数,但
document.getElementByID()
是一个函数。

document.getElementByID() //wrong
document.getElementById() //right

javascript区分大小写。尝试document.getElementById而不是document.getElementById

您应该将getElementID更改为getElementById。我也这么做了,好几天都想不出来。请记住JavaScript是区分大小写的,并且使用小写的CamelCase。

什么类型的元素是
var main=document.getElementByID('ct100\u TableContent\u'+control)?哇,太尴尬了!谢谢各位。我想你们在这两种情况下都拼错了
getElementById
。此外,已经提供了这个答案。