• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    jquery repeater 模仿 Google 展开页面预览子视图
    如果, 有不明白的问题, 请先阅读 30 分钟掌握无刷新 Repeater.

    示例代码下载: http://zsharedcode.googlecode.com/files/JQueryElementDemo.rar

    本文将详细的讲解 Repeater 控件中如何使用子视图, 目录如下:

    * 准备
    * 定义子视图样本
    * 切换子视图状态
    * 定义子视图容器

    示例图片:

    准备

    请参照 http://code.google.com/p/zsharedcode/wiki/JQueryElementRepeaterDoc 中的准备.

    定义子视图样本
    显示在 repeater 中的 repeater 被称为子视图, 每一个子视图都是子视图样本的副本, 并根据条件来展示不同的数据. 子视图样本的定义没有特别之处, 比如:
    复制代码 代码如下:

    je:Repeater ID="子视图 ID>" runat="server"
    FilterField="子视图搜索字段>">
    /je:Repeater>
    je:Repeater ID="pictureRepeater" runat="server"
    FilterField="['url']"
    FillAsync-Url="webservice.asmx"
    FillAsync-MethodName="GetGooglePicture">
    ItemTemplate>
    div>
    span class="url">#{url}/span>
    br />
    br />
    #{picture}
    /div>
    /ItemTemplate>
    /je:Repeater>

    大多数情况下, 需要为子视图样本定义 FilterField 属性, 也就是搜索子视图数据所用到的字段或条件, 上面的代码中, 我们添加了 url 作为条件, 那么后台返回数据的代码可以这样编写:
    复制代码 代码如下:

    [WebMethod]
    public SortedDictionarystring, object> GetGooglePicture ( string url )
    {
    // 返回 JSON
    }

    由于, 只返回一行数据, 因此不必添加 pageindex 和 pagesize 参数.

    关于如何返回 JSON, 请参考 使用 ASP.NET 一般处理程序或 WebService 返回 JSON, 本示例所有代码为在 .NET 4.0 下编写.
    切换子视图状态
    如果需要在 Repeater 中控制子视图切换, 关闭和打开, 可以使用 shiftview, collapseview, expandview 三个函数, 比如:
    复制代码 代码如下:

    // je-javascript 事件名>="shiftview,'子视图 ID>'[,子视图搜索字段值n>]"
    div id="list">
    je:Repeater ID="googleRepeater" runat="server"
    Selector="'#list'" PageSize="2" IsVariable="true"
    FillAsync-Url="webservice.asmx"
    FillAsync-MethodName="SearchGoogle">
    ItemTemplate>
    div class="picture">
    div
    je-button="label='更多';"
    je-onclick="shiftview,'pictureRepeater','#{url}'">
    /div>
    div je-id="pictureRepeater" style="display: none;">
    /div>
    /div>
    /ItemTemplate>
    /je:Repeater>
    /div>

    以 shiftview 为例, 第一个参数为子视图的 ID, 之后的参数为用于搜索子视图数据的条件, 示例中将字段 url 作为参数, 对应了子视图样本 FilterField 属性中的 url. 如果有更多的条件, 继续添加即可, 顺序需要和子视图样本 FilterField 属性中条件一样.
    expandview 方法和 shiftview 是类似的, 不同的 expandview 是打开子视图, 而 shiftview 是切换子视图的打开状态.
    而 collapseview 方法是关闭子视图, 不需要传递条件.
    默认情况下, 当子视图首次被打开时, 将自动调用 fill 方法来填充数据, 而之后的打开显示现存的数据, 不再刷新.
    定义子视图容器
    除了定义子视图样本之外, 还需要在行模板中定义子视图容器, 在刚才的代码中, 有这样一段:
    复制代码 代码如下:

    // je-id="子视图 ID>"
    ItemTemplate>
    div class="picture">
    div je-id="pictureRepeater" style="display: none;">
    /div>
    /div>
    /ItemTemplate>

    通过 je-id 绑定为子视图 ID, 即可将元素绑定为子视图的容器, 而子视图将显示在目标容器中.
    子视图默认为关闭状态, 因此代码中通过 style="display: none;" 使子视图容器在开始时隐藏.

    JQueryElement 是开源共享的代码, 可以在 http://code.google.com/p/zsharedcode/wiki/Download 页面下载 dll 或者是源代码.

    实际过程演示: http://www.tudou.com/programs/view/uVx2BBMHgOQ/, 建议全屏观看.

    欢迎访问 panzer 开源项目, http://zsharedcode.googlecode.com/ , 其中包含了 IEBrowser 控制 WebBrowser 执行各种 js 和 jQuery 脚本以及录制功能 和 jQueryUI 的 Asp.net 控件 JQueryElement.
    您可能感兴趣的文章:
    • Jquery图片延迟加载插件jquery.lazyload.js的使用方法
    • Jquery的each里用return true或false代替break或continue
    • jQuery基于当前元素进行下一步的遍历
    • jquery 表格排序、实时搜索表格内容(附图)
    • jQuery实现鼠标经过图片预览大图效果
    • jquery预览图片实现鼠标放上去显示实际大小
    • jquery实现兼容浏览器的图片上传本地预览功能
    • jQuery实现图片放大预览实现原理及代码
    • jquery 图片上传按比例预览插件集合
    • 基于jquery实现的上传图片及图片大小验证、图片预览效果代码
    • jquery实现预览提交的表单代码分享
    上一篇:30 分钟掌握无刷新 Repeater
    下一篇:使用ASP.NET一般处理程序或WebService返回JSON的实现代码
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    jquery repeater 模仿 Google 展开页面预览子视图 jquery,repeater,模仿,Google,