2016-04-25 11 views
0

コントローラから表示する項目のリストを返しています。ビュー内の は、ページ内のリストを表示するページングのプラグインjクエリを使用しています。 アクションメソッドは、マイビュー)}このjqueryページ区切り参照(前のページで変更されたスタイルを記憶していないページ付け)

@model List<Message> 

@{ 
    Layout = null; 
} 
<!DOCTYPE html> 
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> 

<head> 
    <meta charset="utf-8"> 
    <meta http-equiv="x-ua-compatible" content="IE=10"> 
    <title>Messages</title> 
    <script src="@Url.Content("~/Scripts/Pagination.js")"></script> 
    </head> 
<body> 
      <div class="col-xs-12 no-padding"> 
       <div class="col-xs-12 no-padding table"> 
        <table class="table table-bordered table-hover table-responsive table-nowrap" id="content" title="Inbox Messages"> 
         <thead> 
          <tr> 
           <th>From</th> 
           <th> 
            Subject 
           </th> 
           <th> 
            <a href='#' title="Click Header to Sort">Date</a> 
           </th> 
          </tr> 
         </thead> 
         <tbody> 
          @if (Model != null) 
          { 
           foreach (var item in Model) 
           { 

            <tr > 

               @if(item.isStared){ 
               <td id="@item.MessageId"> 
                <i title="click to change importance" style="border-bottom: none ! important;" class="text-primary editable-click icon-star mark-star"></i> 
               </td> 
               } 
               else{ 
               <td> 
               <i title="click to change importance" style="border-bottom: none ! important;" class="text-primary editable-click icon-star-empty mark-star"></i> 
               </td> 
               } 
               <td> 
                @Item.data 
               </td> 



              </tr> 


           } 
          } 
         </tbody> 
         <tfoot> 
          <tr id="pagerTwo"> 
           <td colspan="3"> 
            <div class="col-xs-4 col-sm-offset-4"> 
             <div class="col-xs-4"> 
              <div class="col-xs-6 pull-right"> 
               <a href="#"> <span class="glyphicon glyphicon-chevron-left prev pull-right"></span></a> 
              </div> 
              <div class="col-xs-6 pull-right"> 
               <a href="#"> <span class="glyphicon glyphicon-backward first pull-right"></span></a> 
              </div> 

             </div> 
             <div class="col-xs-4"> 
              <input type="text" disabled class="pagedisplay col-xs-12 text-center" title="pagedisplay" /> 
             </div> 
             <div class="col-xs-4"> 
              <div class="col-xs-6 pull-left"> 
               <a href="#"> <span class="next glyphicon glyphicon-chevron-right pull-left"></span></a> 
              </div> 
              <div class="col-xs-6 pull-right"> 
               <a href="#"> <span class="glyphicon glyphicon-forward last pull-left"></span></a> 
              </div> 
             </div> 
            </div> 
            <select class="pagesize" style="display: none" title="Pagesize"> 
             <option selected="selected" value="8">8</option> 
            </select> 
           </td> 
          </tr> 
         </tfoot> 
        </table> 
       </div> 
      </div> 
     </div> 

    </div> 

    <div id="MessageBody" class="col-xs-12 no-padding"> 
    </div> 

</body> 
</html> 
<script src="@Url.Content("~/Scripts/TableScripts/jquery.tablesorter.Seccurepager.js")" type="text/javascript"></script> 
<script type="text/javascript"> 
    var pager = new Imtech.Pager(); 
     $(document).ready(function() { 
      pager.paragraphsPerPage = 5; // set amount elements per page 
      pager.pagingContainer = $('#content'); // set of main container 
      pager.paragraphs = $('tr', pager.pagingContainer); // set of required containers 
      pager.showPage(1); 
     }); 
</script> 

<script type="text/javascript"> 

    $(document).on('click', '.mark-star', function() { 
$('#' + this.id).removeClass("icon-star-empty"); 
$('#' + this.id).addClass("icon-star"); 
debugger; 

のように見えます

public ActionResult Messages() 
      { 
    List<Message> listMessagesHeader = new List<Message>(); 
    listMessagesHeader.Add(new Message(){data="hi", isStared=false, MessageId=11}); 
    listMessagesHeader.Add(new Message(){data="hi", isStared=false, MessageId=0}); 
    listMessagesHeader.Add(new Message(){data="hi", isStared=false, MessageId=1}); 
    listMessagesHeader.Add(new Message(){data="hi", isStared=false, MessageId=2}); 
    listMessagesHeader.Add(new Message(){data="hi", isStared=false, MessageId=3}); 
    listMessagesHeader.Add(new Message(){data="hi", isStared=false}, MessageId=4); 
    listMessagesHeader.Add(new Message(){data="hi", isStared=true}, MessageId=5); 
    listMessagesHeader.Add(new Message(){data="hi", isStared=true}, MessageId=6); 
    listMessagesHeader.Add(new Message(){data="hi", isStared=false}, MessageId=7); 
    listMessagesHeader.Add(new Message(){data="hi", isStared=true}, MessageId=8); 
    listMessagesHeader.Add(new Message(){data="hi", isStared=false}, MessageId=9); 
    listMessagesHeader.Add(new Message(){data="hi", isStared=false}, MessageId=10); 
    return View(listMessagesHeader); 
    } 

です。

</script> 

私はJavaスクリプト機能 "AddStar"と "RemoveStar"関数を書いてメッセージの削除アイコンを追加しました。

問題はページネーションスクリプトによるものです。追加されたスタイルクラスを維持できません。 次のページをクリックしてから前のページをクリックすると以前のページ追加スタイルクラスは削除され、ページは元の形式で表示されます。アドバンス

+1

Imtech.Pager()とは何ですか? –

+0

Pagination.jsのどのページャ初期化メード こちらを参照してください。https://www.script-tutorials.com/how-to-create-easy-pagination-with-jquery/ –

+0

新しいページに行くと、新しい要求。コントローラーは、前のビューで追加/削除したクラスを認識していません。データを永続化するには、ajaxを使用してisStaredプロパティを設定し、値を保存するコントローラメソッドを呼び出す必要があります。 –

答えて

0

おかげで

$(document).on('click','#element',function(){ 

}); 

のようなものをonclickのイベントとユーザーjqueryのクリックイベントを削除するページを変更したときに実際に、あなたのhtmlがリフレッシュされますし、あなたの定義されたのonclickイベントは、使用するので、そのより良い失わjqueryイベント。それらはすべての場合に機能します。

また、インラインCSSを使用することはお勧めしません。スタイルクラスをそのまま使用できるようにしてください。

+0

返信ありがとうございました 更新された質問を確認してください私は述べたように変更されましたが、同じことがスタイルクラスが繰り返されてページが変わっても繰り返されませんでした。 –

+0

あなたはこのクラスについてお話ししていますか:icon-star-empty –

+0

はい私はクラスアイコンをアイコンスターで置き換え、クラスを元の位置に戻すページを変更します –

関連する問題