2014-11-25 41 views
1

我使用一些示例编写了自定义模块。我使用ContentPartDriver继承类来渲染结果...异步加载果园自定义小部件

例如:

 protected override DriverResult Display(ContentPickerPart part, string displayType, dynamic shapeHelper) { 
     string IWSUrl = IWSUrlRuleProvider.BuildIWSUrl(part); 
     var lstTypeItems = _contentpicker.GetItems(IWSUrl); 

     return ContentShape("Parts_ContentPicker",() => shapeHelper.Parts_ContentPicker(
        Items: (lstTypeItems as List<Item>))); 
    } 

模块请求网络服务来获取一些信息......至于有大约需要400毫秒到很多信息只是调用Web服务... 我有大约10每个页面相同的模块,它需要400 * 10秒渲染...

我如何渲染此模块异步在果园cms?(所以页面将呈现和之后会有每个模块的ajax调用)

谢谢

回答

3

您可以创建一个控制器,并在页面从零件视图加载到控制器后进行ajax调用,然后调用您的服务,或者您可以尝试使用ajaxify小部件,在页面加载后装入小部件,但我从来没有真正尝试过:) Ajaxify