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

首頁 > 語言 > JavaScript > 正文

使用異步controller與jQuery實現卷簾式分頁

2024-05-06 15:37:45
字體:
來源:轉載
供稿:網友

問題

今天很多網站與數據庫交互。如果您的網站接收大量的流量,SQL查詢來檢索數據,是相當激烈的。更重要的是因為普通用戶點擊一個在15秒內到達您的網站的鏈接, 檢索和生成內容的工作可能是不必要的,尤其是當內容是“地域折疊”(不滾動是不可見的)。為了幫助解決這個問題,內容將被“按需”載入。足夠的內容將被載入,使頁面感覺起來是隨用戶向下滾動閱讀遞增的,更多的內容將在不影響用戶體驗的場景下填充。

解決方案

使用異步controller與jQuery按需加載內容,當用戶開始通過網站的內容滾動時進一步加載內容。

討論

異步controller可能在許多MVC應用中未充分利用。最有可能的是因為人們不知道他們,更重要的是,不知道何時使用它們。以下是摘錄見MSDN網站:

“在應用中,線程饑餓可能會發生,您可以配置action 異步處理。異步請求和同步請求過程需要相同的時間例如,如果一個請求,使得網絡調用需要兩秒鐘來完成的,請求需要兩秒鐘,無論是執行同步或異步。然而,在一個異步調用,當服務器響應等待它的第一次請求時完成時他響應其他的請求沒有被阻塞。因此,當有許多請求調用長時間運行的操作時,異步請求會防止請求排隊。“

在這個例子里,異步請求是完美的解決方案。因為他會讓IIS服務器有能力去處理更多重要的請求,比如一個新的用戶第一次訪問網站。其中,加載用戶點播內容是不太重要,因為大多數人甚至不關注被加載額外的內容。在一個典型的社交網站,大多數活動可能包含用戶的意見。在以前的秘方中,創建了一個評論的功能。

在這個例子中,將更新網站的網頁,列出最近的評論。足夠的評論會被顯示,所以會出現滾動條。一旦用戶開始滾動,一個Ajax請求異步controller將檢索其他評論。

首先Home/Index view 需要更新去顯示最近的評論。為了提供一些評論的上下文內容,關于書的基礎詳情也將被顯示為導航到圖書的鏈接。所以這個view將簡單的調用view 中的render function會在下邊創建:

@model IEnumerable<MvcApplication.Models.BookComment>@{ViewBag.Title = "Home Page";}<h2>@ViewBag.Message</h2><p>To learn more about ASP.NET MVC visit <a  rel="external nofollow" title="ASP.NET MVC Website">http://asp.net/mvc</a>.</p><script type="text/javascript">var lastY = 0;var currentY = 0;var page = 1;var maxPages = @ViewBag.maxPages;$(window).scroll(function () {if (page < maxPages) {currentY = $(window).scrollTop();if (currentY - lastY > 200 * (page - 1)) {lastY = currentY;page++;$.get('CommentFeed/Comments?page=' + page,function(data) {$('#comments').append(data);});}}});</script><div id="comments"><h2>Recent Comments</h2>@Html.Partial("../CommentFeed/Comments", Model)</div>            
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 澎湖县| 右玉县| 香格里拉县| 六安市| 大安市| 资源县| 奉贤区| 白玉县| 繁峙县| 大洼县| 麻城市| 阿尔山市| 仙桃市| 淮滨县| 南召县| 湘潭市| 天长市| 神池县| 梓潼县| 浑源县| 婺源县| 平安县| 集贤县| 璧山县| 延长县| 通河县| 连云港市| 布拖县| 观塘区| 海宁市| 阜城县| 呼伦贝尔市| 易门县| 海丰县| 义乌市| 稻城县| 安塞县| 乌拉特中旗| 忻城县| 楚雄市| 永德县|