CRUDを使用してMVCアプリケーションを作成しています。リストビューには、PagedListヘルパーがあります。コードでpageSize変数を設定しました:pageSize = 5、リストには5つのファイルのみが表示され、前のページと次のページに移動できます。反対側では、ユーザーが「pageSize」値を自分で定義できる「Parameters」というオプションを作成したいと思います。私はそれを行う方法について混乱しています。前もって感謝します。
4 に答える
プロファイル プロバイダーの使用を検討する
http://wiki.asp.net/page.aspx/1327/profile-provider-in-aspnet-mvc/
または、特注の UserSettings テーブルを作成して、設定を自分で保存します。
ユーザーが選択したページサイズをセッション変数に書き込み、必要なときにそれを読み取ることができます。
セッションに書き込むには、次を呼び出す必要があります。
Session["pagesize"]=pagesize;
セッションから読み取るには、次を使用できます。
var pagesize = (int)Session["pagesize"];
null 参照例外を回避するために、キャストする前にこの値がセッション内にあることを確認する必要があります。
セッション変数は、ユーザーの稼働期間中だけ保持したい場合に使用できます。長期間保存する場合は、データベースまたはファイルに保存する必要があります。
を使用している場合Sql Sever
は、単純なテーブルを作成します
Create Table UserProfile (
UserId Int Not null,
ProfileName Varchar(50) Not null
Value Varchar(50) Not Null
foreign key (UserId) references [UsersTable] (UserId)
)
PageSize or any other profile
このテーブルから保存および取得できます。
最新の Web アプリケーションに共通しているのは、ページ サイズ <select />
のリストです。
次にやりたいことは、ユーザーの選択を Cookie に記憶することです。ユーザー エクスペリエンス (UX) は、次の 2 つの理由から、プロファイル アプローチよりもはるかに優れています。
- 登録ユーザーと匿名ユーザーの両方がページ サイズを選択できます
- ページサイズを選択するために設定ページやプロフィールページに移動する必要はありません
プロファイル ページを必要とするシナリオはありますが、これは間違いありません。