首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用jquery重新绑定Html.Grid的内容?

如何使用jquery重新绑定Html.Grid的内容?
EN

Stack Overflow用户
提问于 2017-02-22 11:46:18
回答 1查看 947关注 0票数 1

我刚刚为我的项目安装了Grid.mvc包,并使用Html.Grid方法绘制了一个基本网格:

代码语言:javascript
运行
复制
@Html.Grid(Model).Named("FeedbackGrid").Columns(columns =>
{
    columns.Add(c => c.Id).Titled("Request Number").SetWidth("10%");
    columns.Add(c => c.AspNetUser.FullName).Titled("Requester").Filterable(true).SetWidth("15%");
    columns.Add(c => c.RequestedDate).Titled("Date Requested").SetWidth("15%");
    columns.Add(c => c.Title).Titled("Title").SetWidth("20%");
    columns.Add(c => c.Description).Titled("Description")
        .RenderValueAs(c => c.Description.Substring(0, (c.Description.Length > 50) ? 50: c.Description.Length)
            + ((c.Description.Length > 50) ? "..." : "")).SetWidth("40%");
        }).WithPaging(10).Sortable(true)

这是我的模型:

代码语言:javascript
运行
复制
@model IEnumerable<MyProject.Models.FeatureRequest>

我已经在屏幕上添加了一些搜索功能(例如id、姓名等)有一个搜索按钮。当单击搜索时,jquery从操作方法中提取一些新数据并将其返回给视图(与模型的类型相同)。这就是我被卡住的地方。我不知道如何使用新检索的数据重新填充网格。下面是代码。任何帮助都将不胜感激。

代码语言:javascript
运行
复制
var onSearchClicked = function(){
    var requestId = $('#RequestIdSearch').val();
    var requesterId = $('#RequesterIdSearch').val();
    var title = $('#TitleSearch').val();
    var description = $('#DescriptionSearch').val();

    $.ajax({
        cache: false,
        type: "POST",
        url: "/Home/GetFeatureRequests",
        data: { "requestId": requestId, "requesterId": requesterId, "title": title,"description": description},
        success: function (rdata) {
            // How to bind the grid to the retrieve rdata here?
            alert('successful');
        },
        error: function (xhr, ajaxOptions, thrownError) {
            alert('Failed to retrieve request features!.');
        }
    });
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-02-22 14:16:54

将您的HTML.Grid放入Partial View中。然后从控制器返回Partial View,如下所示:

代码语言:javascript
运行
复制
public PartialViewResult GetFeatureRequests(int requestId, int requesterId, string title, string description)
{
  // Your code here to fill model IEnumerable<MyProject.Models.FeatureRequest>
  return PartialView("_PartialViewName", model); // returns view with model
}

ajax success function中,执行以下操作:

代码语言:javascript
运行
复制
$.ajax({
    cache: false,
    type: "POST",
    url: "/Home/GetFeatureRequests",
    data: { "requestId": requestId, "requesterId": requesterId, "title": title,"description": description},
    success: function (rdata) {
        $('#yourContainerId').html(rdata);
    },
    error: function (xhr, ajaxOptions, thrownError) {
        alert('Failed to retrieve request features!.');
    }
});

在您的主视图中,包含如下的局部视图

代码语言:javascript
运行
复制
<div id="yourContainerId">
    @Html.Partial("_PartialViewName", Model.FeatureRequestList)
</div>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42382333

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档