在javascript调用控件的时候,无论这个脚本在母版页,还是在子页面:
1。javascript调用客户端控件:都可以直接调用母版页或子页面的所有客户端控件(<input>)的属性。
即:母版页和子页面里的javascript最终都被加载到了子页面。而客户端控件无论在哪个页面,其id,name等的属性值都不会改变。
2。javascript调用本页面的服务器端控件:都应该使用var d=document.getElementById('<%=TextBox1.ClientID %>');类似的语句。
javascript想调用服务器端控件,注意这个服务器控件的属性变化:
在使用了母版的子页面里,母版里的服务器控件中,runar="server"的Form的属性会变为:<form name="aspnetForm" method="post" id="aspnetForm">;
第一个asp:Buttont的type变为submit,其他的不变,而所有asp:Buttont和asp:TextBox,
其ID的属性名前会加上ctl00_,比如:id="ctl00_Button1",name的属性名前加上ctl00$,name="ctl00$Button1";
在子页面里,本页面的服务器控件都被放在了
<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">。。。。。</asp:Content>中,
其ID的属性名前都要加上ctl00_ContentPlaceHolder1_,比如ctl00_ContentPlaceHolder1_TextBox1;
其name的属性名前都加上ctl00$,比如:ctl00$ContentPlaceHolder1$Button1