zoukankan      html  css  js  c++  java
  • ASP.NET学习4. ASP.NET Ajax下POST完成后调用javascript函数

    1.网页的布局有一个专门的Javascript函数adjustOfPage()函数,在页面加载前调用,适用Jquery的$(document).ready();方法:

            $(document).ready(function adjustOfPage() {
                document.getElementById("Screen").width = screen.width - 50;
                document.getElementById("Navigator").width = screen.width - 50;
                document.getElementById("cell_table").width = screen.width - 50 - 213 - 14;
                document.getElementById("navi_end").width = screen.width - 50 - 926;
            });

    由于调用了该方法,页面可根据桌面分辨率的大小自动的调整。

    2.但是当我操作一次页面的上面按钮控件之后,也即一个POST操作,后台的处理完成之后回到原先的页面,布局变的凌乱了!

    因为此时页面是局部更新的,没有对整个页面重新生成一次,adjustOfPage()没有被调用。

    3.于是我想办法去调用这个前端的脚本,想到了之前的ClientScriptManager对象的RegisterClientScriptBlock和RegisterStartupScript方法,以为这个方法的作用是后台在任何时候都可以向前台制定需要其执行的脚本,其实不然。

    两种方法有些类似都是后台向页面注册一个脚本块,至于什么后执行却不能确定。RegisterStartupScript方法注册的脚本必须是在页面加载的时候才能执行。

    4.经过请教懂的同学,了解到,POST操作一般有两种:

    (1).一中是普通的POST,这中情况下每次POST返回时,整个页面都要重新加载;

    (2).另一种是在Ajax框架下的POST,此时需要在加一段代码

        <script type="text/javascript" language="javascript">
            Sys.WebForms.PageRequestManager.getInstance().add_endRequest(adjustOfPage);
        </script>

    详细的适用方法见MSDN:http://msdn.microsoft.com/zh-cn/library/bb383810(v=vs.100).aspx

  • 相关阅读:
    JQuery
    a:hover伪类在ios移动端浏览器内无效的解决方法
    git rebase 过程中遇到冲突该怎么解决?
    git
    vue单文件中scoped样式如何穿透?
    微信小程序-怎么获取当前页面的url
    es6 class 中 constructor 方法 和 super
    如何将svg图标快速转换成字体图标?
    JavaWeb三大组件之一Filter知识总结
    Session的引入以及Cookie的不足
  • 原文地址:https://www.cnblogs.com/superdaddy/p/3137986.html
Copyright © 2011-2022 走看看