母版页带来的问题

来源:互联网 发布:python游戏开发 编辑:程序博客网 时间:2024/05/22 10:32

 套用母版页之后,生成的HTML代码是有些特殊的:

查看源文件,可以看到源文件控件元素的ID和生成HTML文件的ID不一致。
表单from的name属性和id属性变成了aspnetForm,控件的id属性被无缘无故了加上了ctl00_ContentPlaceHolder1_前缀,其name属性也加上了ctl00$ContentPlaceHolder1$前缀。

那么如果使用'document.getElementById()就会出现“为空或不是对象”的错误。

解决方法:

function insert() {
document.getElementById("ctl00$ContentPlaceHolder1$txt").value=document.getElementById("ctl00$ContentPlaceHolder1$txt").value+"(__)";
return;
}
//或者
function insert() {
document.getElementById("ctl00_ContentPlaceHolder1_txt").value=document.getElementById("ctl00_ContentPlaceHolder1_txt").value+"(__)";
return;
}

其实分析一下,它是后来生成的客户端id,我们可以用C#语句Control的ClientID属性,像这样写:txt.ClientID; txt还是原来控件的id,后面的ClientID就是新生成的id。txt.ClientID是从程序里取到的后来生成新的id,这样不是更好吗。修改代码如下:

  function insert() {
document.getElementById("").value=document.getElementById("").value+"(__)";
return;
}

 

 

整理自网络

原创粉丝点击