激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - ASP.NET教程 - jquery repeater 模仿 Google 展開頁面預覽子視圖

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

2019-09-23 10:25asp.net開發網 ASP.NET教程

節后的這一周, 希望大家能挺住, hehe, 這兩天給大家準備一個 Repeater 子視圖的例子, 模擬了 Google 搜索結果后的頁面的預覽, 其實也只是顯示了一段問題

如果, 有不明白的問題, 請先閱讀 30 分鐘掌握無刷新 Repeater

示例代碼下載: http://zsharedcode.googlecode.com/files/JQueryElementDemo.rar 

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

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

示例圖片: 

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

準備 

請參照 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 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 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.

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 国产深夜福利视频在线播放 | hd极品free性xxx护士人 | 一级视频在线播放 | 国产中出视频 | 日本视频网 | 一区二区三区四区视频在线观看 | 成人午夜免费观看 | 国产小视频在线观看 | 日本免费一区二区三区四区 | 色啪综合 | 免费a级网站| 久久久www视频 | 黄 色 免费网 站 成 人 | 鲁丝片一区二区三区免费入口 | 热99在线视频 | 欧美a级理论片 | 国产另类一区 | 中文字幕电影免费播放 | 久久久一区二区三区精品 | 精品在线视频播放 | 国产噜噜噜噜久久久久久久久 | 色骚综合| 免费观看一区二区三区视频 | 成人毛片100部 | 色99999| 日韩黄色一级视频 | 亚洲电影在线观看高清免费 | 亚洲第一成网站 | 成人不卡 | 久青草免费视频 | 99999久久久久久| 草久在线| 亚洲成人高清电影 | 色678黄网站全部免费 | 91成人免费在线观看 | 国产精品爆操 | 19禁国产精品福利视频 | 男人的天堂视频网站 | 国产精品久久久久久久久久免 | 亚洲性生活免费视频 | 国产日本在线播放 |