文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>asp.net控制DIV,javascript

asp.net控制DIV,javascript

时间:2008-12-18  来源:cexoyq

1.显示隐藏DIV
   ,把DIV声明到服务器端  
  <div id="divDate" name="divDate" runat="server">
        <asp:Calendar ID="Calendar1" runat="server"></asp:Calendar>
    </div>  
  然后,到后台   divDate.Visible = false;
即可。
或是:
  this.divDate.Style.Add("display",   "none");

2.关于javascript
   调用:
   编码问题: Web.config文件中     <globalization
            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当然可以调用了。

相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载