Skip to main content
 首页 » 编程设计

C#MVC : Search Grid as Partial View to enable AJAX Return

2024年02月03日36youxin

我有一个包含联系人的网格。当人们访问/contacts/URL 时,它会自动显示联系人。在一个单独的框中,人们可以根据不同的标准过滤那些。每当应用不同的条件时,我只想刷新网格,而不是整个页面。

为了实现这一点,我是否可以将联系人网格本身放在局部 View 中,然后以某种方式通过 AJAX 返回局部 View ?

请给我一个正确方向的提示。谢谢:)

请您参考如下方法:

最直接的方法可能是使用 jQuery AJAX API请求方法。然后,您可以在 Controller 中使用 Request.IsAjaxRequest() 属性来查看请求是否是使用 AJAX 发出的 - 如果是,则您仅从 Controller 操作返回 PartialView。


一些代码示例:

在您看来,您可以使用以下标记:

<div id="gridContainer"> 
    <% Html.RenderPartial("ContactsGrid", ViewData.Model); %> 
</div> 

(假设您的联系人包含在 Model 对象中,并且 View 是强类型的...)
当您想要更新网格时,您可以调用以下 javascript 代码:

$('#gridContainer').load('/contacts/', { filterParameter: andItsValue }); 

如果您的路由支持,您还可以在 URL 中附加过滤器参数。

在您的 Controller 操作中,您在返回之前执行以下检查:

if(Request.IsAjaxRequest()) { 
    return PartialView("ContactsGrid", contacts); 
} 
return View(contacts);