2012-04-11 8 views
1

私は、ajaxリクエストによって一度に20行ずつ項目がロードされたテーブルで構成されるページを持つASP.NET MVCソリューションを持っています。私は20の次の行(既存の行を保持しているテーブルの最後にロードされた行)をロードできるように、この表の最後にリンクがあります。私のページでActionLinkを更新する

enter image description here

だから私は持っている:

Index.cshtml:メインページ

<table class="zebra-striped"> 

    <thead> 
     <tr> 
      <th>@UserResource.CompanyName</th> 
      <th>@UserResource.City</th> 
      <th>@UserResource.Street</th> 
      <th width="70"></th> 
     </tr> 
    </thead> 

    <tbody id="ListCompanies"> 
     @Html.Action("RowsList") 
    </tbody> 

</table> 

@Ajax.ActionLink("Load more", "RowsList", new { page = 2 }, new AjaxOptions { HttpMethod = "GET", UpdateTargetId = "ListCompanies", InsertionMode = InsertionMode.InsertAfter, OnComplete = "AjaxCompleted" }) 

RowsList.cshtml:部分図

@model IEnumerable<Domain.Models.Company> 

@foreach (var item in Model) 
{ 
    <tr id="@item.CompanyID"> 
     <td>@item.CompanyName</td> 
     <td>@item.City.CityName</td> 
     <td>@item.Street</td> 

     <td nowrap>          
      @Html.ActionLink("Edit", ...) 
      @Html.ActionLink("Delete", "Delete", ...) 
     </td> 
    </tr> 
} 

問題:をロードするために使用されるリンクE次のページが、このような静的なのhrefています

http://localhost/Admin/Company/RowsList?page=2

毎回リンクがクリックされたが、私が必要:

  • をロードするためのこのリンクを更新する20次の項目(それは大丈夫です)
  • 01:次の時間は、次のページセリエ

次のローディングが可能に感謝する必要がありますロード

http://localhost/Admin/Company/RowsList?page=3

http://localhost/Admin/Company/RowsList?page=4

http://localhost/Admin/Company/RowsList?page=5

...

このリンクは、(部分的にしか表示さRowsListがリロードされるため)更新されていません、私のindex.cshtmlページにあります。

このリンクを正しく更新するにはどうすればよいですか?たぶん私は簡単な 'MVC'ソリューションのために自分のコードをリファクタリングしなければならなかったでしょうか?

ありがとうございます!

答えて

0

PageNumberを含むビューとCompanyプロパティのためのViewModelを作成し、データ

でページ番号を渡すか、またはあなたが使用するクライアント側のスクリプトとロードデータであれば、あなたは、AJAX

+0

経由でのjQueryを使用することができます[もっと読み込む]リンクは、更新されていない[インデックス]ページにあります。 RowsListという名前の部分ビューのみがajaxによってリフレッシュされます。したがって、ViewModelを使用してPageNumberを格納しても、リンクの更新方法はわかりません。多分あなたはアイデアを持っていますか?ありがとう。 – Bronzato

+0

okあなたがajaxを使用していて、さらにloadを押すと、コールバックでリンクのページ番号を更新する –

関連する問題