由于在.net2.0使用的母版页.在内容页中使用javascript老是提示找不到控件.查看页面html源码发现页面控件id被.net加入了ContentPlaceHolder控件id.类似ct100_ContentPlaceHolderID_控件名.所以在客户端调用时因为名称不对.老是报错.解决方法如下:
在内容页加入:
<script src="../include/calendar.js" type="text/javascript" language="javascript" charset="gb2312"></script>
<asp:TextBox ID="txtSTime" runat="server"></asp:TextBox><input type=button id="hBtnSTime" value="<<" runat="server" />
<asp:TextBox ID="txtETime" runat="server"></asp:TextBox>
<input id="hBtnETime" type="button" value=">>" runat="server" />
<asp:TextBox ID="txtSTime" runat="server"></asp:TextBox><input type=button id="hBtnSTime" value="<<" runat="server" />
<asp:TextBox ID="txtETime" runat="server"></asp:TextBox>
<input id="hBtnETime" type="button" value=">>" runat="server" />
在代码页加入:
string strScript = "calendar(" + txtSTime.UniqueID.ToString() + ")";
hBtnSTime.Attributes["onClick"] = strScript;
strScript = "calendar(" + txtETime.UniqueID.ToString() + ")";
hBtnETime.Attributes["onClick"] = strScript;
hBtnSTime.Attributes["onClick"] = strScript;
strScript = "calendar(" + txtETime.UniqueID.ToString() + ")";
hBtnETime.Attributes["onClick"] = strScript;
注意事项
1,在页面上去掉以下代码,否则日期控件工作不正常
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "
http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd
">
2.调用script时使用字符集为
charset="gb2312"
3.使用html服务器端控件,避免显示日期控件时引发页面刷新