Chinaunix首页 | 论坛 | 博客
  • 博客访问: 3304376
  • 博文数量: 266
  • 博客积分: 3081
  • 博客等级: 中校
  • 技术积分: 2640
  • 用 户 组: 普通用户
  • 注册时间: 2005-07-04 10:35
个人简介

没什么好介绍的!穷屌丝一个~

文章分类

全部博文(266)

文章存档

2021年(3)

2020年(1)

2019年(2)

2016年(5)

2015年(1)

2014年(1)

2011年(9)

2010年(16)

2009年(31)

2008年(58)

2007年(111)

2006年(2)

2005年(26)

我的朋友

分类: 系统运维

2008-12-18 08:29:16

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当然可以调用了。

阅读(1868) | 评论(0) | 转发(0) |
0

上一篇:一些小技巧

下一篇:c++ linux time

给主人留下些什么吧!~~