ClientScript.RegisterClientScriptBlock来注册提示用户,整个页面会刷白,只有前台写判断
if(document.getElementById("txtName").value == "")
{
alert("请填写用户名!");
document.getElementById("txtName").focus();
return false;
}
上面的方法在没有引用母版页的页面中很正常,但是我在内容页中这样写,找不到txtName控件,
js会报错.就郁闷了我在网站后台程序里的一般页面(没引用母版页)里都可以,怎么现在不可以呢?折腾了半天,突然想起了查看运行后网页的源文件,这下才明白了.
txtName控件名前自动加了ctl00_ContentPlaceHolder1,也就是变成
ctl00_ContentPlaceHolder1_txtName.也就是在所有的控件前加了一个前缀,个人认为就是母版页中的
<asp:contentplaceholder );
document.getElementById('<%=txtName.ClientID%>').focus();
return false;
}
取的是生成html后的客户端的ID这样就再也不会找不到啦~~~