有时候运行程序的时候,可能ID会变,使你对原来ID的操作没用.当你发现这种问题时,可以查看页面的source,看看ID变没变.如下代码(不能运行,只是给示范用,比较乱):
<%
@ Page Language="C#" AutoEventWireup="true" CodeFile="ProjectIntro.aspx.cs" Inherits="DMaP.UserInterface.ProjectIntro"
%>
<% @ Register Src="ProjectIntro1.ascx" TagName="intro" TagPrefix="uc1" %>
<% @ Register Src="ProjectIntro2.ascx" TagName="intro" TagPrefix="uc2" %>
< html xmlns ="http://www.w3.org/1999/xhtml" >
< head runat ="server" >
< title >
< asp:localize runat ="server" text ="<%$ Resources:PageTitle %>" ></ asp:localize >
</ title >
< link href ="css/normal.css" type ="text/css" rel ="stylesheet" />
< link href ="styles/ProjectIntro.css" type ="text/css" rel ="stylesheet" />
</ head >
< script language ="javascript" type ="text/javascript" >
function menu1MouseOver()
{
document.getElementById('intro1').className = "InputShow";
document.getElementById('intro2').className = "InputHidden";
document.getElementById('menu1').className = "menuSelect";
document.getElementById('menu2').className = "menuRelease";
document.getElementById('lblIntro2').className = "fontMouseRealse";
document.getElementById('lblIntro1').className = "fontMouseOver";
return false;
}
function menu2MouseOver()
{
document.getElementById('intro1').className = "InputHidden";
document.getElementById('intro2').className = "InputShow";
document.getElementById('menu1').className = "menuRelease";
document.getElementById('menu2').className = "menuSelect";
document.getElementById('lblIntro2').className = "fontMouseOver";
document.getElementById('lblIntro1').className = "fontMouseRealse";
return false;
}
</ script >
< body onload ="javascript:menu1MouseOver()" >
< form id ="Form1" runat ="server" method ="post" >
< table cellspacing ="0" cellpadding ="0" border ="0" class ="MainTable" >
< tr >
< td >
< div id ="divBreadCrumb" >
< asp:Image ID ="Image1" runat ="server" ImageUrl ="~/image/arrows.gif" />
< span class ="CurrentPage" >
< asp:Localize ID ="Localize3" runat ="server" Text ="<%$ Resources:DMaP, CurrentPage %>" ></ asp:Localize ></ span >
< span class ="CurrentPageInfo" >
< asp:Localize ID ="Localize4" runat ="server" Text ="<%$ Resources: ProjectIntro %>" ></ asp:Localize ></ span >
</ div >
</ td >
</ tr >
< tr >< td > </ td ></ tr >
< tr >
< td >
< table cellspacing ="0" cellpadding ="0" style ="width:100%; padding: 5px; " >
< tr >
< td id ="menu1" class ="menuSelect" onmousemove ="menu1MouseOver()" onclick ="menu1MouseOver()" >
< asp:Label ID ="lblIntro1" runat ="server" Text ="<%$ Resources: lbIntro1 %>" CssClass ="fontMouseOver" ></ asp:Label >
</ td >
< td id ="menu2" class ="menuRelease" onmousemove ="menu2MouseOver()" onclick ="menu2MouseOver()" >
< asp:Label ID ="lblIntro2" runat ="server" Text ="<%$ Resources: lbIntro2 %>" ></ asp:Label >
</ td >
< td id ="menu3" style ="border-bottom:solid 1px #95BEE4; width:40%;" > </ td >
</ tr >
</ table >
</ td >
</ tr >
< tr id ="intro1" runat ="server" >
< td class ="mainIntroText" >
< uc1:intro ID ="ProIntro1" runat ="server" />
</ td >
</ tr >
< tr id ="intro2" runat ="server" >
< td class ="mainIntroText" >
< uc2:intro ID ="ProIntro2" runat ="server" />
</ td >
</ tr >
</ table >
</ form >
</ body >
</ html >
<% @ Register Src="ProjectIntro1.ascx" TagName="intro" TagPrefix="uc1" %>
<% @ Register Src="ProjectIntro2.ascx" TagName="intro" TagPrefix="uc2" %>
< html xmlns ="http://www.w3.org/1999/xhtml" >
< head runat ="server" >
< title >
< asp:localize runat ="server" text ="<%$ Resources:PageTitle %>" ></ asp:localize >
</ title >
< link href ="css/normal.css" type ="text/css" rel ="stylesheet" />
< link href ="styles/ProjectIntro.css" type ="text/css" rel ="stylesheet" />
</ head >
< script language ="javascript" type ="text/javascript" >
function menu1MouseOver()
{
document.getElementById('intro1').className = "InputShow";
document.getElementById('intro2').className = "InputHidden";
document.getElementById('menu1').className = "menuSelect";
document.getElementById('menu2').className = "menuRelease";
document.getElementById('lblIntro2').className = "fontMouseRealse";
document.getElementById('lblIntro1').className = "fontMouseOver";
return false;
}
function menu2MouseOver()
{
document.getElementById('intro1').className = "InputHidden";
document.getElementById('intro2').className = "InputShow";
document.getElementById('menu1').className = "menuRelease";
document.getElementById('menu2').className = "menuSelect";
document.getElementById('lblIntro2').className = "fontMouseOver";
document.getElementById('lblIntro1').className = "fontMouseRealse";
return false;
}
</ script >
< body onload ="javascript:menu1MouseOver()" >
< form id ="Form1" runat ="server" method ="post" >
< table cellspacing ="0" cellpadding ="0" border ="0" class ="MainTable" >
< tr >
< td >
< div id ="divBreadCrumb" >
< asp:Image ID ="Image1" runat ="server" ImageUrl ="~/image/arrows.gif" />
< span class ="CurrentPage" >
< asp:Localize ID ="Localize3" runat ="server" Text ="<%$ Resources:DMaP, CurrentPage %>" ></ asp:Localize ></ span >
< span class ="CurrentPageInfo" >
< asp:Localize ID ="Localize4" runat ="server" Text ="<%$ Resources: ProjectIntro %>" ></ asp:Localize ></ span >
</ div >
</ td >
</ tr >
< tr >< td > </ td ></ tr >
< tr >
< td >
< table cellspacing ="0" cellpadding ="0" style ="width:100%; padding: 5px; " >
< tr >
< td id ="menu1" class ="menuSelect" onmousemove ="menu1MouseOver()" onclick ="menu1MouseOver()" >
< asp:Label ID ="lblIntro1" runat ="server" Text ="<%$ Resources: lbIntro1 %>" CssClass ="fontMouseOver" ></ asp:Label >
</ td >
< td id ="menu2" class ="menuRelease" onmousemove ="menu2MouseOver()" onclick ="menu2MouseOver()" >
< asp:Label ID ="lblIntro2" runat ="server" Text ="<%$ Resources: lbIntro2 %>" ></ asp:Label >
</ td >
< td id ="menu3" style ="border-bottom:solid 1px #95BEE4; width:40%;" > </ td >
</ tr >
</ table >
</ td >
</ tr >
< tr id ="intro1" runat ="server" >
< td class ="mainIntroText" >
< uc1:intro ID ="ProIntro1" runat ="server" />
</ td >
</ tr >
< tr id ="intro2" runat ="server" >
< td class ="mainIntroText" >
< uc2:intro ID ="ProIntro2" runat ="server" />
</ td >
</ tr >
</ table >
</ form >
</ body >
</ html >
这代码的作用是通过MouseOver事件进行交替显示,但如果把这代码放到<asp:Content ></asp:Content>中的话,会自动在有 runat="server" 的控件的ID前加上"ctl00_ContentPlaceHolder1_",你把代码放到<asp:WizardStep></asp:Wizard>,则会加上"Wizard1_".