国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > .NET > 正文

jquery repeater 模仿 Google 展開頁面預覽子視圖

2024-07-10 13:24:42
字體:
來源:轉載
供稿:網友
如果, 有不明白的問題, 請先閱讀 30 分鐘掌握無刷新 Repeater.

示例代碼下載:

本文將詳細的講解 Repeater 控件中如何使用子視圖, 目錄如下:

* 準備
* 定義子視圖樣本
* 切換子視圖狀態
* 定義子視圖容器

示例圖片:

jquery repeater 模仿 Google 展開頁面預覽子視圖

準備

請參照 中的準備.

定義子視圖樣本
顯示在 repeater 中的 repeater 被稱為子視圖, 每一個子視圖都是子視圖樣本的副本, 并根據條件來展示不同的數據. 子視圖樣本的定義沒有特別之處, 比如:

復制代碼 代碼如下:


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


大多數情況下, 需要為子視圖樣本定義 FilterField 屬性, 也就是搜索子視圖數據所用到的字段或條件, 上面的代碼中, 我們添加了 url 作為條件, 那么后臺返回數據的代碼可以這樣編寫:

復制代碼 代碼如下:


[WebMethod]
public SortedDictionary<string, 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>
<je:Repeater runat="server"
Selector="'#list'" PageSize="2" IsVariable="true"
FillAsync-Url="webservice.asmx"
FillAsync-MethodName="SearchGoogle">
<ItemTemplate>
<div>
<div
je-button="label='更多';"
je-onclick="shiftview,'pictureRepeater','#{url}'">
</div>
<div je-id="pictureRepeater">
</div>
</div>
</ItemTemplate>
</je:Repeater>
</div>


以 shiftview 為例, 第一個參數為子視圖的 ID, 之后的參數為用于搜索子視圖數據的條件, 示例中將字段 url 作為參數, 對應了子視圖樣本 FilterField 屬性中的 url. 如果有更多的條件, 繼續添加即可, 順序需要和子視圖樣本 FilterField 屬性中條件一樣.
expandview 方法和 shiftview 是類似的, 不同的 expandview 是打開子視圖, 而 shiftview 是切換子視圖的打開狀態.
而 collapseview 方法是關閉子視圖, 不需要傳遞條件.
默認情況下, 當子視圖首次被打開時, 將自動調用 fill 方法來填充數據, 而之后的打開顯示現存的數據, 不再刷新.
定義子視圖容器
除了定義子視圖樣本之外, 還需要在行模板中定義子視圖容器, 在剛才的代碼中, 有這樣一段:

復制代碼 代碼如下:


// je-id="<子視圖 ID>"
<ItemTemplate>
<div>
<div je-id="pictureRepeater">
</div>
</div>
</ItemTemplate>


通過 je-id 綁定為子視圖 ID, 即可將元素綁定為子視圖的容器, 而子視圖將顯示在目標容器中.
子視圖默認為關閉狀態, 因此代碼中通過 使子視圖容器在開始時隱藏.

JQueryElement 是開源共享的代碼, 可以在 頁面下載 dll 或者是源代碼.

實際過程演示: , 建議全屏觀看.

歡迎訪問 panzer 開源項目, , 其中包含了 IEBrowser 控制 WebBrowser 執行各種 js 和 jQuery 腳本以及錄制功能 和 jQueryUI 的 Asp.net 控件 JQueryElement.

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 郓城县| 大冶市| 城步| 吉安县| 武功县| 中西区| 涡阳县| 玉屏| 洪雅县| 肇东市| 白河县| 桂平市| 额尔古纳市| 灵丘县| 赣州市| 博白县| 寿宁县| 登封市| 井陉县| 丰台区| 方城县| 新乡县| 漯河市| 化隆| 夏邑县| 巧家县| 容城县| 云龙县| 股票| 万载县| 屯昌县| 金昌市| 垣曲县| 隆化县| 河北省| 吉木萨尔县| 静安区| 兴仁县| 威海市| 孝昌县| 蒲城县|