Asp.net mvc MVC中的刷新用户控件
我在MVC应用程序的aspx页面中有3个用户控件。 我从一个控制器绑定数据库中的数据 在选择“过滤器/状态”时,我希望将数据(刷新)绑定到“列表”用户控件,而不刷新“过滤器和状态”用户控件 下面是我在aspx页面中的用户控件。 请帮助我如何刷新部分页面/用户控件 我尝试只返回“ListView”视图数据。但它正在搜索其他两个视图&抛出异常Asp.net mvc MVC中的刷新用户控件,asp.net-mvc,Asp.net Mvc,我在MVC应用程序的aspx页面中有3个用户控件。 我从一个控制器绑定数据库中的数据 在选择“过滤器/状态”时,我希望将数据(刷新)绑定到“列表”用户控件,而不刷新“过滤器和状态”用户控件 下面是我在aspx页面中的用户控件。 请帮助我如何刷新部分页面/用户控件 我尝试只返回“ListView”视图数据。但它正在搜索其他两个视图&抛出异常 <td> <%Html.RenderPartial("Filter", ViewData
<td>
<%Html.RenderPartial("Filter", ViewData["FilterView"]); %>
</td>
<td valign="top" width="15%">
<%Html.RenderPartial("Status", this.ViewData["StatusView"]); %>
</td>
<td valign="top" width="85%">
<%Html.RenderPartial("List", this.ViewData["ListingView"]); %>
</td>
像这样做
html(aspx页面):
您的控制器:
[HttpGet]
public ActionResult GetListingView(int statusId)
{
ViewData["ListingView"] = your data filtered by statusId or what you want;
return PartialView("List",ViewData["ListingView"]);
}
我将使用专用模型代替ViewData[“ListingView”],但这只是一个示例。它应该可以工作。jQuery和ajax是您的选择吗?您可以添加一个返回JSON的控制器操作并用它填充列表。jQuery与MVC捆绑在一起,它的集成(就像我迄今为止看到的任何web项目中一样)几乎是完美的。我的操作将在一个用户控件中,我必须根据第一个用户控件中的选择将数据绑定到其他用户控件中。如何使用JSON实现这一点?如果控件和刷新操作是真正自包含的(与包含页面的其余部分分离),那么您甚至可以在控件标记中包含脚本和触发器。
$('#refreshListingView').click(function () {
var selectedStatusId = 'get here proper status id';
$.ajax({
url: '/YourController/GetListingView',
type: "GET",
data: { "statusId": selectedStatusId },
success: function (response) {
$('#ListingView').html(response);
}
});
});
[HttpGet]
public ActionResult GetListingView(int statusId)
{
ViewData["ListingView"] = your data filtered by statusId or what you want;
return PartialView("List",ViewData["ListingView"]);
}