Ajax WebGrid JQuery问题

时间:2013-02-11 14:31:47

标签: asp.net-mvc-3

我正在使用webgrid,因此我可以显示数据库中的数据。在页面加载网格正确显示在页面上,但当我尝试过滤数据时,我有一个文本框和一个提交按钮,当我按下搜索按钮时,我收到一个错误:“需要一个jquery脚本引用为了在webgrid帮助器中启用ajax支持“。我似乎无法找到问题所在。

在我看来,这是我的网格, 你好, 我正在使用webgrid,所以我可以显示我的数据库中的数据。在页面加载网格正确显示在页面上,但当我尝试过滤数据时,我有一个文本框和一个提交按钮,当我按下搜索按钮时,我收到一个错误:“需要一个jquery脚本引用为了在webgrid帮助器中启用ajax支持“。我似乎无法找到问题所在。

这是我视野中的网格,

        <div id="myGrid">
            @Html.Partial("Grids/_gridPayments", Model)
        </div>

这是我的部分网页视图

@model IEnumerable<DAS.DAL.CustomerPayment>

@{  
var grid = new WebGrid(source: Model, rowsPerPage: 15, ajaxUpdateContainerId: "myGrid");

@grid.GetHtml(rowStyle: "gridRow", alternatingRowStyle: "gridAltRow", footerStyle: "gridFooter", columns: grid.Columns(
                   grid.Column("FullName", "Πελάτης"),
                   grid.Column("Amount", "Ποσό", format: (item) => string.Format("{0:C}", item.Amount)),
                   grid.Column("Descr", "Περιγραφή"),
                   grid.Column("DTPaid", "Ημερομηνία πληρωμής", format: (item) => string.Format("{0:dd-MMM-yyyy}", item.DTPaid))
               ));
}

最后我的控制器功能是 var payments = BLPayments.getAllPayments();

       if (!string.IsNullOrEmpty(txtSearchCustomer))
           payments = payments.Where(a => a.FullName.Contains(txtSearchCustomer)).ToList();
       if (!string.IsNullOrEmpty(txtSearchFromDate) && !string.IsNullOrEmpty(txtSearchToDate))
           payments = payments.Where(a => a.DTPaid >= DateTime.ParseExact(txtSearchFromDate, "MM/dd/yyyy", null) && a.DTPaid <= DateTime.ParseExact(txtSearchToDate, "MM/dd/yyyy", null)).ToList();
       if (!string.IsNullOrEmpty(txtSearchFromDate) && string.IsNullOrEmpty(txtSearchToDate))
           payments = payments.Where(a => a.DTPaid >= DateTime.ParseExact(txtSearchFromDate, "MM/dd/yyyy", null)).ToList();
       if (string.IsNullOrEmpty(txtSearchFromDate) && !string.IsNullOrEmpty(txtSearchToDate))
           payments = payments.Where(a => a.DTPaid <= DateTime.ParseExact(txtSearchToDate, "MM/dd/yyyy", null)).ToList();

       return PartialView("Grids/_gridPayments", payments);

if (!string.IsNullOrEmpty(txtSearchCustomer)) payments = payments.Where(a => a.FullName.Contains(txtSearchCustomer)).ToList(); if (!string.IsNullOrEmpty(txtSearchFromDate) && !string.IsNullOrEmpty(txtSearchToDate)) payments = payments.Where(a => a.DTPaid >= DateTime.ParseExact(txtSearchFromDate, "MM/dd/yyyy", null) && a.DTPaid <= DateTime.ParseExact(txtSearchToDate, "MM/dd/yyyy", null)).ToList(); if (!string.IsNullOrEmpty(txtSearchFromDate) && string.IsNullOrEmpty(txtSearchToDate)) payments = payments.Where(a => a.DTPaid >= DateTime.ParseExact(txtSearchFromDate, "MM/dd/yyyy", null)).ToList(); if (string.IsNullOrEmpty(txtSearchFromDate) && !string.IsNullOrEmpty(txtSearchToDate)) payments = payments.Where(a => a.DTPaid <= DateTime.ParseExact(txtSearchToDate, "MM/dd/yyyy", null)).ToList(); return PartialView("Grids/_gridPayments", payments);

提前感谢。

1 个答案:

答案 0 :(得分:0)

添加了此代码 if (Request.IsAjaxRequest()) return PartialView("Grids/_gridPremadeMeals", premadeMeals); else return View("ViewPremadeMeals", premadeMeals); 并且工作。我觉得整个页面都令人耳目一新,但仍然无法找到原因......