3

私は asp.net mvc Web アプリケーションに取り組んでおり、このリンクhttp://gridmvc.codeplex.com/にある Grid.MVC プラグインを使用したいと考えています。だから私は次のことをしました: -

NuGet パッケージから、Grid.MVC をプロジェクトにインストールしました。

私は私のビューに以下を追加しました:-

 @model IEnumerable<WebApplication30.Models.Employee>
    @using GridMvc.Html
    @{
        ViewBag.Title = "Index";
    }

    <h2>Index</h2>

    <p>
        @Html.ActionLink("Create New", "Create")
    </p>
    <div style="width:500px;">
        @Html.Grid(Model).Columns(columns =>
    {

        columns.Add(c => c.FName).Titled(Html.DisplayNameFor(model => model.FName).ToString()).Filterable(true);
        columns.Add(c => c.LName).Titled(Html.DisplayNameFor(model => model.LName).ToString()).Filterable(true);
                            columns.Add(c => c.Dept.DeptName).Titled("deptname").Filterable(true);;
                        }).WithPaging(3).Sortable(true)
    </div>

モデルは次のようになります。

public partial class Employee
    {
        public int Id { get; set; }
        [Display(Name = "First Name")]
        public string FName { get; set; }
        [Display(Name = "Last Name")]
        public string LName { get; set; }
        public int DeptID { get; set; }

        public virtual Dept Dept { get; set; }
    }

コントローラは次のとおりです。

 public ActionResult Index()
        {
            var employees = db.Employees.Include(e => e.Dept);
            return View(employees.ToList());
        }

現在、ページング + 列の並べ替えはうまく機能しています。しかし、私は彼らとこれらの問題に直面しています:-

  1. ページング + 列の並べ替えは、ページ全体の再読み込みにつながります。では、Ajax ベースの対話を指定できますか?

  2. ページング + 列の並べ替えはクライアント側で行われるため、ビューにアクセスするたびに、データベースからデータ全体を取得します。サーバー側でこれを行う方法はありますか。

4

0 に答える 0