• Ajax Web Part


    最近,自己写了一个Ajax Web Part

    详情请看文档:


    Ajax Web Part使用说明

    v1.0 Author: wjjin

    Overview

    AjaxWebPart原则上是通过WebPart Manager来操作WebPart,请不要直接调用WebPart中的方法。使用时,引用prototype.js和asyncWebPartPacked.js

    WebPart Manager

    WebPartManager是一个管理当前页面所有WebPart的类,主要负责控制页面所有WebPart的行为。

    构造方法

    var manager = new WebPartManager( true , false, "divStyle");
    参数列表:WebPartManager( 自动加载 , 自动Interval, 默认的div的class属性)

    其中,

    • 自动加载:页面加载的时候,是否加载WebPart,一般设为true
    • 自动Interval:页面加载的时候,是否让有IntervalTime属性的WebPart进行Interval,根据需要设置,一般为false,对于个别要interval的WebPart可以调用manager.stopWebPartInterval('div2')来进行设置。
    • 默认的div的class属性:每个WebPart的div class

    registerWebPart(webPart)

    注册一个WebPart到WebPartManager中。

    startAllInterval()

    让所有已注册的WebPart开始interval(设定过IntervalTime的WebPart)。

    stopAllInterval()

    停止所有WebPart的Interval。

    startWebPartInterval(divId)

    开始特定WebPart的Interval

    stopWebPartInterval(divId)

    停止特定WebPart的Interval

    refreshWebPart(divId)

    重新加载指定的WebPart

    refreshAllWebPart()

    重新加载所有WebPart

    makeNewRequest( divId, url, paras, invervalTime , method)

    让指定的WebPart发送新的Request

    refreshWebPartByElement(elem) [常用]

    重新加载当前element所在的WebPart

    startWebPartIntervalByElement(elem) [常用]

    开始当前element所在的WebPart的Interval

    stopWebPartIntervalByElement(elem) [常用]

    停止当前element所在的WebPart的Interval

    makeNewRequestByElement(elem, url, paras, invervalTime , method)) [常用]

    让当前element所在的WebPart发送新的Request

    refreshWebPartByElementId(elemId) [常用]

    重新加载id为elemId的Element所在的WebPart

    startWebPartIntervalByElementId(elemId) [常用]

    开始id为elemId的Element所在的WebPart的Interval

    stopWebPartIntervalByElementId(elemId) [常用]

    停止id为elemId的Element所在的WebPart的Interval

    makeNewRequestByElementId(elemId, url, paras, invervalTime , method)) [常用]

    让id为elemId的Element所在的WebPart发送新的Request

    WebPart

    使用一个WebPart,首先,创建WebPart实例:

    var webPart1 = new WebPart("div1", "GetWebPartJS.aspx", "&WebPartID=1&customPara=hi", false, "<img src='images/indicator.gif' />",1000, "get");

    参数列表:var webPart1 = new WebPart(Div的Id, 目标URL, 参数, 是否Load完毕以后执行WebPart内容中的Javascirpt, Loading时候显示的内容, 自动刷新的时间, Method);

    其中,

    • 目标URL:一般都是GetWebPartJS.aspx页面。当然也可以是其他页面,如果需要的话。
    • 参数:不用带HtmlContainer,因为已经在程序里处理过了。
    • 是否Load完毕以后执行WebPart内容中的Javascirpt:比如,WebPart中有一段<script>alert("i'm from webpart.");</script>,如果为true,则当WebPart Load完毕之后,自动执行,为false,则不执行。
    • Loading时候显示的内容:可以是一段Html,在请求发出到请求响应成功时显示。
    • 自动刷新的时间:WebPart每隔x毫秒自动刷新
    • Method:Get或者Post方法(默认Get)

    然后,注册到WebPartManager中:

    manager.registerWebPart(webPart1);

    Sample

    创建并注册WebPart

    var webPart1 = new WebPart("div1", "GetWebPartJS.aspx", "&WebPartID=1&customPara=hi", false, "<mg src='images/indicator.gif' />",null, "get");
    var manager = new WebPartManager( true , false, "divStyle");
    manager.registerWebPart(webPart1);

    创建并注册一个Interval的WebPart

    var webPart1 =   new WebPart("div1","GetWebPartJS.aspx","&WebPartID=1&customPara=hi", false, "<mg src='images/indicator.gif' />",1000, "get");
    var manager = new WebPartManager( true , false, "divStyle");
    manager.registerWebPart(webPart1);
    manager.startWebPartInterval('div1');

    在WebPart中实现让自己刷新

    在WebPart中,可以用一个Dom Element作为参数,用manager对Dom Element所在的div进行操作

    然后在前台代码里调用manager对象(这个对象已经在WebPart所应用的页面实例化了):

    <input type=button value="click me! then i'll reload this webPart myself."  onclick="manager.refreshWebPartByElement(this);" ID="Button1" NAME="Button1"/>

    在WebPart中实现让自己请求另外一个页面:

    基本步骤同上,只是调用一下manager的makeNewRequestByElement( elem, url, paras, invervalTime , method)方法。

    <input type=button 
    value="click me! then i'll make a new request to.TestPage2Remote.aspx." onclick= "manager.makeNewRequestByElement(this,'GetWebPartJS.aspx','&WebPartID=2&customPara=hi',null, null);" ID="Button1" NAME="Button1"/>

    让包含特定id的element所在WebPart请求另外一个页面:

    基本步骤同上,只是调用一下manager的makeNewRequestByElementId( elem, url, paras, invervalTime , method)方法。

    <input type=button 
    value="click me! then i'll make a new request to.TestPage2Remote.aspx." onclick= "manager.makeNewRequestByElementId('someElementId','GetWebPartJS.aspx','&WebPartID=2&customPara=hi',null, null);" ID="Button1" NAME="Button1"/>
    Sample页面
  • 相关阅读:
    课堂检测求一个数的各个位
    猜数字
    登录界面
    课后作业01
    java语言基础问题
    大道至简第一张用java撰写伪代码
    阅读“大道至简”的读后感
    iOS 瀑布流的基本原理
    iOS 生成二维码
    CNContact对通讯录的基本使用(第二篇)
  • 原文地址:https://www.cnblogs.com/jinweijie/p/566667.html
Copyright © 2020-2023  润新知