分享

asp.net中解决页面刷新后字体等变大或者样式丢失的问题 .

 周旋图书馆 2014-09-01

原文:

 

protected void Button1_Click(object sender, EventArgs e)
        {
             Page.RegisterStartupScript("ServiceManHistoryButtonClick", "<script>alert('哈哈');</script>");

             //或下面都可,上面第一个参数随便起,不要重复.
                Response.Write("<script>alert('哈哈');</script>");   
                Response.Write(" <script>document.location=document.location; </script>");
                return;

        }

 

 应用这段代码的页面刷新以后样式就会丢失才导致页面错位,或者字体变大,那么我们继续向下看RegisterClientScriptBlock或RegisterStartupScript,看下这两个的效果,他们的区别是,从哪里发送脚本,应用这两个我们的代码就既有了js的效果,又不影响页面的基础样式了。 

具体写下他们两个的用法:

 protected void Button1_Click(object sender, EventArgs e)
        {

 

Page.ClientScript.RegisterClientScriptBlock(this.GetType(),名称,"<script>alert('哈哈);</script>" );

 

或者:

 

Page.ClientScript.RegisterStartupScript(this.GetType(),名称,<script>document.location=document.location; </script>");
          }

 

RegisterStartupScript(key, script) 
RegisterClientScriptBlock(key, script)
这两个方法的作用都是从前台向后台写脚本,且都接受两个相同的参数:
     第一个参数 key 是插入的客户端脚本的唯一标识符。
     第二个参数 script 是要插入到页面中的客户端脚本内容,包括 <script> 的起始标记和终止标记</script>。
     
   这两个方法唯一的不同之处在于向“何处”注册脚本块。
         RegisterClientScriptBlock(key, script) 在 form开始处(紧接 <form runat="server"> 标识之后)发送脚本块,它可以把JavaScript函数放在页面的顶部。也就是说,该脚本用于在浏览器中启动页面。     
               RegisterStartupScript(key, script) 在 form结尾处(在 </form> 标识之前)发送脚本块,在document装载完成后会执行,等价于body.onload=f(){}里的内容,把脚本放在ASP.NET页面的底部,而不是顶部。

注:第一个参数一般都是固定的。

运行一下,看看效果是不是出来了。

 

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多