2012-03-12 51 views
0

我找實現尋呼機按照以下簡單的需求的最佳途徑。簡單的自定義傳呼機在MVC 3

我想這樣

<Pager 1 2 3 4 ...> 

<Partial View> 

我的動作控制器頁面會是這個樣子......

public PartialViewResult DisplayRecordDetails(int recordNumber) 
    { 
     MyRecord mr = GetRecord(recordNumber); 
     return PartialView(mr); 
    } 

當我點擊 「1」(頁索引= 1),我將1作爲參數傳遞給DisplayRecordDetails操作方法並加載部分視圖與記錄1.

當我點擊「2」(頁面索引= 2)時,我將2作爲參數傳遞給DisplayRecordDetails操作方法a次創紀錄的2加載局部視圖等等...

我會項目總算在我手上的信息和當前頁面的索引信息。現在,我怎樣才能使用這些信息動態生成尋呼機?

我試圖尋找尋呼機庫/傭工,但所有的人都爲網格。我怎樣才能將它們用於我的情況?我沒有網格。我只是有一個局部視圖,我需要根據頁碼動態加載。

回答

1

你可以設計將包含所有的ID號視圖模型:

public class MyViewModel 
{ 
    // the currently selected id 
    public int Id { get; set; } 

    // a list of available ids 
    public int[] Ids { get; set; } 
} 

,然後有一個控制器動作,將查詢數據庫或任何和獲取所有可用的ID列表:

public ActionResult Index(int? id) 
{ 
    var model = new MyViewModel 
    { 
     Id = id ?? 0, 
     Ids = new[] { 563, 845, 845 } // those will come from your datasource 
    }; 
    return View(model); 
} 

,並在相應的視圖中,您可以通過這些ID環路,併產生鏈接:

@model MyViewModel 
<div> 
    @Html.Action("DisplayRecordDetails", new { recordNumber = Model.Id }) 
</div> 
@for (var i = 0; i < Model.Ids.Length; i++) 
{ 
    <span>@Html.ActionLink((i + 1).ToString(), "Index", new { id = i })</span> 
} 
+0

ŧ哈林斯達林。對於少量頁面來說,這是一個很好的解決方案。如果我有很長的距離,現在我仍然擔心尋呼機的外觀。 「下一個」和「上一個」功能的任何技巧? – Max 2012-03-12 08:49:54

+0

我剛剛找到了一個我可以使用的簡單jQuery插件。 http://blog.ajaxmasters.com/jquery-pagination-plugin/ 我只是設置每頁= 1的項目,它的工作原理就像一個魅力... – Max 2012-03-12 20:56:00