システムには、多くの場合、多くのメニュー項目があり、各メニュー項目はページに対応しています。一般的に、ユーザーは一般的に使用される関数を使用するだけでよいです。対応する関数を見つけるために各レベルのメニューに移動する必要がある場合、それは実際に少し面倒です。特に多くのメニューがあり、顧客がシステム全体に精通していない場合、ブラウザに似たお気に入りのモジュールがある場合、一般的に使用されるメニューを接続して保存し、毎回このお気に入りのホームページから対応するページを見つけます。このエッセイは、メトロニックベースのブートストラップ開発フレームワークにこのお気に入りを実装するというアイデアを紹介します。
1。システムのお気に入りのインターフェイス処理効果
このお気に入りの関数を実現するには、システムページの明らかな場所にお気に入りのモジュールの入り口を配置する必要があります。また、各ページに対応するお気に入りに追加できる関数も必要です。
比較後、これらのエントリ関数をページタイトルの近くに配置したため、次の効果に示すように、簡単かつ迅速に収集できます。
ページの[お気に入りに追加]ボタンをクリックすると、対応するページのタイトルとお気に入りのレコードに接続を追加します。
[お気に入りの表示]関数では、追加したページリンクを表示できます。レコードの1つをクリックして、対応するページをすばやく入力します。これにより、機能モジュールをすばやく入力する必要があります。
ここで最も重要なことは、お気に入りのレコードをソートし、レコードがインターフェイスの処理に適合できるように上下に移動することです。
2。システムのお気に入りの実装プロセス
システムページのお気に入り関数の上記のインターフェイス効果を理解した後、その特定の実装プロセスを理解する必要があります。まず、お気に入り、ページタイトル、ページアドレス、ソート、その他の情報に対応する情報を保存するためのテーブルを設計する必要があります。
データベース設計インターフェイスを以下に示します。
ソートレコードが小数形式で保存されていることに気付き、それらを経度で値でソートするため、調整できるようにすると、それらの間のサイズを変更できます。
コード生成ツールDatabase2Sharpを使用して、基礎となる関連コードとWebコントローラーとビューコードを迅速に生成し、それをフレームワークに統合して、モジュール全体のインターフェイスを作成してコードを処理できるようにします。
一般に、データ表示と編集インターフェイスは比較的標準であり、お気に入りの入り口ディスプレイの要件は異なるため、図に示すように、シンプルなエントリインターフェイスを表示するためにリストインターフェイスにビューを追加する必要があります。
このインターフェイスには、上向きまたは下向きを含むレコードの移動処理が含まれています。
前述のように、私たちのレコードの並べ替えは、主に10進数のseqフィールドを通じて達成されます。
エンティティクラスが初期化された場合、並べ替えられた値を現在のUNIXタイムスタンプに割り当てます。
上記のDateTimetoint関数コードを以下に示します。これは、一般的に使用される処理方法でもあります。
/// <summary> ///拡張時間インターフェイス、シェーピング値を返すことができますreturn(int)(time -starttime).totalseconds; }
レコードの動きを実現するには、コントローラーでのコールを容易にするために、Service BLLレイヤーに移動する論理処理を実装する必要があります。
/// <summary> /// Up UpまたはDown Order ///
実装された関数コードは次のとおりです
/// <summary> ///アップデートアップアップまたはダウンオーダー/// </summary> /// <param name = "id"> record id </param> /// <param name = "moveup"> up up、true </param> /// bool result = false; webfavoriteinfo info = findbyid(id); if(info!= null){//クエリ文字列条件= ""; if(isdescending){condition = string.format( "seq {0} {1}"、moveup? ">": "<"、info.seq); } else {condition = string.format( "seq {0} {1}"、moveup? "<": ">"、info.seq); } var list = basedal.find(条件);小数newseq = 0m; switch(list.count){case 0:newseq = info.seq; //既に上または下部にあるため、順序はデフォルトで変更されていません。ケース1://上または下のレコードがあります(isdessending){newSeq = MoveUp? (list [0] .seq + 1m):(リスト[0] .seq -1m); } else {newSeq =!MoveUp? (list [0] .seq + 1m):(リスト[0] .seq -1m); } 壊す;ケース2://中央の領域、平均値newSeq =(list [0] .seq + list [1] .seq) /2m;壊す;デフォルト:// 2つ以上の場合は(ムーブアップ){newSeq =(list [list.count -2] .seq + list [list.count -1] .seq) /2m; } else {newSeq =(list [0] .seq + list [1] .seq) / 2m; } 壊す; } // Unified Modification Order info.seq = newSeq; result = update(info、info.id); } return result;}このようにして、MVCコントローラーのこのBLLレイヤーインターフェイスをさらにカプセル化して、ページのフロントエンドでAJAXコール処理を促進します。カプセル化コードは次のとおりです。
/// <summary> /// reave record /// </summary> /// <param name = "id"> record id </param> /// <param name = "up">更新は真です。 if(!string.isnullorempty(id)){try {result.success = bllfactory <webfavorite> .instance.updown(id、up); } catch(Exception ex){result.errormessage = ex.message; }} tojsoncontent(result);}を返しますこのようにして、ページのフロントエンドのインターフェイスビューでこのメソッドを呼び出すことができます。
まず、以下に示すように、JSバインディングを介してフロントエンドHTMLコードを生成します。
$( "#grid_body")。html( ""); $。各(data.rows、function(i、item){var tr = "<tr>"; tr + = "<td> <a class = 'btn btn-sm blue' href = '" + item.url + "'>" + " 「<a href = 'javascript :;' btn btn-sm green 'onclick(' " + item.id +" ') btn-sm blue 'onclick =/"down('" + item.id + "')/" title =' move down '> <span class =' glyphicon glyphicon-arrow-down '> </span> </a> "; tr =" </td> "; tr =" </tr> "; $("#grid_body ")。次に、アップ機能を介して処理し、位置を上または下に移動します。
var updownurl = "/webfavorite/updown" function up(id){var postdata = {id:id、up:true}; $ .post(updownurl、postdata、function(json){var data = $ .parsejson(json); if(data.success){showtips( "up up up sucesser"); refresh(); // reffery data} else {showtips(data.errormessage);}}); $ .post(updownurl、postdata、function(json){var data = $ .parsejson(json); if(data.success){showtips( "down sucessに移動"); // reffery data} else {showtips(data.Errormessage);}}これにより、必要な動きの順序が実装されます。さらに、追加するときに、対応するユーザーがURLを追加したかどうかを判断します。存在する場合は、繰り返し追加する必要はありません。フロントエンドは、Ajaxを介してそれを呼び出してから応答するだけです。
これらのコードの実装を通じて、お気に入りをすばやく管理し、ユーザーをすばやく入力して、よりフレンドリーな体験を提供できます。
上記は、エディターが導入したブートストラップに基づくページリンクのお気に入りの関数です。私はそれが誰にでも役立つことを願っています。ご質問がある場合は、メッセージを残してください。編集者は、すべての人に時間内に返信します。 wulin.comのウェブサイトへのご支援ありがとうございます!