前言:在做一个项目的时候,原本新建一个页面做的,完成功能之后,引用母版页之后,JS不起效果,经过指点发现是引用母版页后,服务器控件ID的值会发生变化。
正常情况下,JS获取服务器控件的值写法为
function CheckPageNull() {
var page = document.getElementById("txt_page").value;
if (isNaN(page) || page == "") {
alert("请输入页码数字");
return false;
}
}
在引用了母版页或使用UpdatePanel(这个没试过)的情况下,服务器控件的ID在解析成HTML后会发生变化,你可以在页面查看源代码观察一下。
这时候,JS获取服务器控件ID的值写法就要有所不同了
function CheckPageNull() {
var page = document.getElementById("<%=txt_page.ClientID %>").value;
if (isNaN(page) || page == "") {
alert("请输入页码数字");
return false;
}
}
注意到不同没有,
document.getElementById("<%=txt_page.ClientID %>").value;
二、续上
在没有引用UpdatePanel的情况下,后台弹出JS警告框一般是这样子的
Response.Write("<script>alert('弹出内容')</script>");
但引用了UpdatePanel后,却不起效果,我估计要对UpdatePanel进行注册才可以,同事给了我段代码
ScriptManager.RegisterClientScriptBlock(UpdatePanel1, UpdatePanel1.GetType(), "sb", "alert('你输入的页码不在范围,请输入正确的页数')", true);