1.显示隐藏DIV
,把DIV声明到服务器端
然后,到后台 divDate.Visible = false;
即可。
或是:
this.divDate.Style.Add("display", "none");
2.关于javascript
调用:
编码问题:Web.config文件中
requestEncoding="utf-8"
responseEncoding="utf-8"
改成GB2312就搞定了,如果把js文件保存成utf8格式也可以。
this.Response.Write ("");
html>
<script language="javascript">
function btclick()
{
document.all.div1.style.display="none";
document.all.div2.style.display="inline";
}
</script>
<body>
<div id=div1>fdfdfd</div>
<div id=div2>fdfdddddddddfd</div>
</body>
</html>
提示:缺少对象
但
<html>
<script language="javascript">
function btclick()
{
document.all.div1.style.display="none";
document.all.div2.style.display="inline";
}
</script>
<body>
<INPUT type="button" value="Button" onclick ="btclick()">
<div id=div1>fdfdfd</div>
<div id=div2>fdfdddddddddfd</div>
</body>
</html>
就可以。。大家都是一样调用btclick()为什么后台不行
|
hh
那是因为脚本执行的顺序问题,执行的时候对象还没有加载
this.Response.Write ("");
|
hh
或者使用Page.RegisterStartupScript("script","")来输出脚本Top
function btclick()
{
document.getElementById('div1').style.display="none";
document.getElementById('div2').style.display="inline";
}
|
hh
Response.Write是输出在页面的最前面,这个时候btclick函数定义还没有输出,因此直接用window.onload=btclick会出错.
但是window.onload=function(){btclick()}启用了一个匿名函数,匿名函数里再调用btclick
如果你是在Page_Load()中执行Response.Write(),这时候所有HTML都还没有Render,当然是你Write出去的东西跑在最前头了,而如果在这里放js,那么都会出现“未定义先调用”的错误。
而如果是使用Page.RegisterStartupScript(),那么这段代码相当于客户端body.onload的时候执行,而客户端的body.onload发生在整个页面加载完毕之时,也就是整个文档的对象解释完毕,你的js当然可以调用了。
|
阅读(1790) | 评论(0) | 转发(0) |