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