【问题标题】:Stop page refresh after filtering grid in mvc.grid在 mvc.grid 中过滤网格后停止页面刷新
【发布时间】:2017-06-15 06:44:55
【问题描述】:

我正在使用 Mvc.Grid (Grid.MVC5),我想停止在使用任何过滤器后自动调用的页面刷新。有可能吗?

查看:-

@model IEnumerable< MVC6_Grid_with_filters.Models.SchemeMaster>
@using NonFactors.Mvc.Grid;
@{
    Layout = null;
}

< link href="@Url.Content("~/Content/MvcGrid/mvc-grid.css")" rel="stylesheet" />
< script src="~/Scripts/jquery-2.1.4.min.js">< /script>
< script src="~/Scripts/MvcGrid/mvc-grid.js" type="text/javascript">< /script>

@(Html
.Grid(Model)
.Build(columns =>
{
    columns.Add(c => c.SchemeID).Titled("SchemeID");
    columns.Add(c => c.SchemeName).Titled("SchemeName");
    columns.Add(c => c.city).Titled("City Name");
    columns.Add(o => o.CompanyName).Titled("Company Name");
    columns.Add(c => c.Createddate, "Createddate").Titled("Date");
    columns.Add(c => c.Married).Titled("Married");
})
.Filterable()
.Sortable()
.Pageable()
)
<script>
    $('.mvc-grid').mvcgrid();
</script>

【问题讨论】:

    标签: asp.net-mvc mvcgrid.net


    【解决方案1】:

    您可以在局部视图中使用@Html.AjaxGrid

    控制器:

    [HttpGet]
    public ActionResult Index()
    {
        // Only main string query values will be visible here.
        return View();
    }
    
    [HttpGet]
    public ActionResult IndexGrid()
    {
        var list = GetSchemeMasters(); // Your custom list method to get SchemeMasters
        return PartialView("YourPartialView", PeopleRepository.GetPeople());
    }
    

    主视图:

    @Html.AjaxGrid(Url.Action("YourPartialAction"))
    

    您的部分观点:

    @model IEnumerable< MVC6_Grid_with_filters.Models.SchemeMaster>
    
    @(Html
        .Grid(Model)
        .Build(columns =>
        {
            columns.Add(c => c.SchemeID).Titled("SchemeID");
            columns.Add(c => c.SchemeName).Titled("SchemeName");
            columns.Add(c => c.city).Titled("City Name");
            columns.Add(o => o.CompanyName).Titled("Company Name");
            columns.Add(c => c.Createddate, "Createddate").Titled("Date");
            columns.Add(c => c.Married).Titled("Married");
        })
        .Pageable()
        .Filterable()
        .Sortable()
    )
    

    【讨论】:

    • 感谢@Hasan,实际上我已经使用了它,但是在使用它之后,我没有在网格上获得过滤器,如果我在局部视图上调用 $('.mvc-grid').mvcgrid() 然后它再次刷新页面..
    • 现在,我的页面中只有分页和排序,不刷新 url 但我也想要过滤器..
    • 你可以尝试添加列吗.Add(model => model.YourField).Titled("YourField").Filterable(true);
    • 感谢@Hasan,实际上是 mvc-grid.css 问题我把它写成包,现在它可以工作了..
    • 我之前没试过。您可以在 jquery 中尝试类似 @Html.Raw(Html.AjaxGrid(Url.Action("YourPartialAction"))) 的东西,但我不确定它是否有效
    猜你喜欢
    • 1970-01-01
    • 2020-03-05
    • 1970-01-01
    • 2017-06-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-14
    相关资源
    最近更新 更多