解释如下:
1、在一个没有母版页的asp页面中,用JavaScript给input控件赋值:document.getElementById("input1").value = "xx";
2、在有母版页的asp页面中,用JavaScript给input控件赋值:document.getElementById("<%= input1.ClientID %>").value = "xx";
另在别处看到一个很好的总结:
在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
本文介绍ASP.NET中母版页与普通页面在使用JavaScript进行控件操作时的区别,包括如何正确获取服务器控件的客户端ID以及不同场景下控件属性的变化。
836

被折叠的 条评论
为什么被折叠?



