2012-04-11 31 views
0

我有一個頁面,用於顯示公司。我有很多公司,所以我只想顯示前20個,並允許用戶點擊表格末尾的鏈接(「加載更多」)。點擊此鏈接應保留現有公司並在末尾添加新裝公司使用ajax將數據加載到我的表的末尾

我該如何做到這一點?我知道我必須使用ajax和部分視圖,但我無法想象將實際公司保留在我的表中(在加載新公司時不刪除這些公司)。

也許有一個ajax選項告訴不要刪除內容(的targetID)加載數據的最後?

有沒有例子給我一些具體的想法?

謝謝。


修訂

下面是我對新裝載的行jQuery的圖標遇到了問題。我怎樣才能繼續使用圖標來新加載行(ajax get)?

enter image description here

這裏是我的javascript:

$(document).ready(function() { 

    // Set icons on edit & delete buttons 
    $(".editCompany").button({ icons: { primary: "ui-icon-pencil"} }); 
    $(".deleteCompany").button({ icons: { primary: "ui-icon-trash"} }); 

回答

0

您需要設置ajaxOptions插入模式InsertAfter。

InsertionMode.InsertAfter而不是InsertionMode.Replace,並確保您的目標是表。

事情是這樣的:

@Ajax.ActionLink("Load More...", "Action", new AjaxOptions{ UpdateTargetId="myTable", InsertionMode = InsertionMode.InsertAfter }) 

你需要確保你正在返回PartialView只呈現<tr>元素,使他們正確地插入的行。

鏈接到可能值的枚舉InsertionMode: http://msdn.microsoft.com/en-us/library/system.web.mvc.ajax.insertionmode.aspx

對於jQuery的圖標來解決你只需要確保你在AjaxOptions的回調的onComplete應用相同的jQuery。

new AjaxOptions{ UpdateTargetId="myTable", InsertionMode = InsertionMode.InsertAfter, OnComplete = 'LoadIcons()' } 
+0

謝謝班福德,我馬上試試 – Bronzato 2012-04-11 11:34:33

+0

我試了一下,行加載成功。只是沒有問題(超出範圍)我注意到我的jQuery圖標沒有顯示在新加載的行上。這是因爲這些圖標(通常)定義在$(document).ready(function()...任何想法如何在新加載的行上顯示這些圖標?我更新了我的問題以顯示視圖的屏幕截圖。無論如何, – Bronzato 2012-04-11 12:06:04

+0

從您的文檔加載JavaScript中將它們解壓縮爲一個JavaScript函數,然後您可以從AjaxOptions中的OnComplete屬性中調用它。http://msdn.microsoft.com/zh-cn/library/system.web .mvc.ajax.ajaxoptions.aspx – Banford 2012-04-11 12:18:32