ASP.NET母版页有关问题
使用母版页,可以使多个页面共享相同的内容,还可以创建页面的布局,但是在母版页使用过程中,有一些细节必须得注意。
一:母版页相对路径问题
在母版而中,如果是ASP控件,那么它的相对路径是指在母版页文件夹所在路径中,如果是HTML控件,那么它的路径就是指在它子页文件夹所在路径。
对而此问题的解决,我们可以
1:改成绝对路径,
2:将HTML控件替换成ASP控件,
3:采用Page.ResolverUrl方法,如 <img svr='<%=Page.ResolverUrl("~/MasterPager/Logo.gif")%>' alt="logo">
二:继承母版的子页问题
在内容页即子页中,因为母版页和子页进行了合并,服务器控件和HTML控件的ID都发生了变化。
例如 内容页中有一个TextBox,它ID为 TextBox1, 它在母版编辑区ContentPlaceHolder控件的ID为ContentPlaceHolder1区中,
那么,它的控件ID变成了
ct100$ContentPlaceHolder1$TextBox1
或
ctl00_ContentPlaceHolder1_TextBox1
如果用Javascript获取的话,要写作如下
document.getElementById("ct100$ContentPlaceHolder1$TextBox1");
document.getElementById("ctl00_ContentPlaceHolder1_TextBox1");
还有一个方法,采用代码。
document.getElementById("<%=TextBox1.ClientID%>");