科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道AJAX如何用于Web部件(1)

AJAX如何用于Web部件(1)

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

如何在开发Web部件时使用ajax呢?我们将以一个样子类似MOSS 2007中KPI和BDC Web部件的WebPart为例来说明。如果你对ajax一点都不了解,推荐学习TerryLee的ajax入门系列。

作者:sunmoonfire 来源:blog 2007年9月3日

关键字: web AJAX SharePoint SharePoint2007 Office

  • 评论
  • 分享微博
  • 分享邮件
如何在开发Web部件时使用ajax呢?我们将以一个样子类似MOSS 2007中KPI和BDC Web部件的WebPart为例来说明。如果你对ajax一点都不了解,推荐学习TerryLee的ajax入门系列。
ASP.net2.0有一个很酷的新特性叫作客户端脚本回调。脚本回调主要使我们可以使用javascript调用服务器端程序中的方法,然后根据结果来做一些操作。这就使我们可以动态更新页面的某一部分内容,正如将在我们下面的WebPart中看到的,而不必刷新整页。关于在.net2.0中使用客户端脚本回调,可以参考下面的文章地址(http://msdn.microsoft.com/msdnmag/issues/04/08/CuttingEdge/),其中做出了详细的解释。但是如何确切的将其使用与我们的代码中,文章并没有详细介绍。事实上脚本回调特性是集成到.net中的,我们可以方便的拿来使用。
本示例中我们假设有这么一个WebPart,它需要很长的时间才能显示出内容。为了解决这个问题,给用户更好的体验,我们决定让render方法在WebPart刚刚载入时只输出一个空的div标签,然后我们通过ajax来替换div的内容,使其显示出实际需要的内容。这样,用户就可以在页面载入后在我们的WebPart完成内容载入前先看一看其他的内容。

下面我们就开始。

首先我们先创建一个新的WebPart项目。在我们的WebPart类中添加下面的命名空间。
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;

想要使.net知道我们的类要使用脚本回调,必须实现System.Web.UI.IcallbackEventHandler接口。

public class TreeViewRollUp:WebPart,ICallbackEventHandler

IcallBackEventHandler接口有两个方法,public string GetCallbackResult()和 public void RaiseCallbackEvent(string eventArgs),稍后将对其进行介绍。
我们先定义两个变量

private string datadiv; //用于保存div标签名称
private string ajaxdata; //用于保存ajax返回的数据 

datadiv变量保存了html中的我们打算输出内容的div标签的id。这个div标签的名称在一个WebPart实例中必须唯一。如果始终是一个固定名称,那么当我们在一个页面中有两个webpart的实例时它们有可能会替换对方的内容。
在webpart的RenderContents方法中加入下面的代码:
    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章