用户控件
<asp:HiddenField ID="hfGradeId" runat="server" />
<asp:HiddenField ID="hfClassId" runat="server" />
//获取用户控件中子控件真实id,用于在页面中的js中调用,调用方法
public string GradeClientID
{
get { return this.hfGradeId.ClientID}
}
public string ClassClientID
{
get { return this.hfClassId.ClientID}
}
调用用户控件页面使用
if($('#<%=ddlGradeAndClass.GradeClientID %>').val()=="-1"||$('#<%=ddlGradeAndClass.GradeClientID %>').val()==""){
alert("请选择年级!")
return false
}
if($('#<%=ddlGradeAndClass.ClassClientID
%>').val()=="-1"||$('#<%=ddlGradeAndClass.ClassClientID
%>').val()==""){
alert("请选择班级!")
return false
}
var p=document.getElementById("<%=Panel.ClientID%>")对于这行代码来说,Panel这个对象是服务端的对象,在客户端无法得到的
function PanelChange(Panel)
显然,这个函数传入的参数是Panel,但是<%=Panel.ClientID%>这又是在服务端运行的,这里的Panel是一个服务端的对象,与js函数的参数Panel完全是两回事
你这样改一下
function PanelChange(Panel)
{
if(p.style.display=="")
p.style.display="none"
else
p.style.display=""
}
当调用这个函数的时候 ,你就可以把<%=Panel.ClientID%>当作一个参数传入了:
PanelChange("<%=Panel1.ClientID%>")
PanelChange("<%=Panel2.ClientID%>")
PanelChange("<%=Panel3.ClientID%>")
PanelChange("<%=Panel4.ClientID%>")