在MVC5中,
我尝试使用
视图:
我该如何在MVC6中使用PartialViews更新视图的部分内容?
@Ajax.ActionLink
非常有用,可以更新部分视图,而不必重新加载整个视图。显然,在MVC6中不再支持此功能。我尝试使用
@Html.ActionLink
,如下所示,但它无法更新表单,只会返回部分视图:视图:
@Html.ActionLink("Update", "GetEnvironment", "Environments", new { id = Model.Id }, new
{
data_ajax = "true",
data_ajax_method = "GET",
data_ajax_mode = "replace",
data_ajax_update = "environment-container",
@class = "btn btn-danger"
})
控制:
public async Task<ActionResult> GetEnvironment(int? id)
{
var environments = await _context.Environments.SingleOrDefaultAsync(m => m.Id == id);
return PartialView("_Environment",environments);
}
局部视图:
@model PowerPhysics.Models.Environments
this is a partial view
然后我尝试使用ViewComponents。当页面加载时,组件正常工作,但我不知道如何在之后仅刷新组件(例如通过按钮):
视图:
@Component.InvokeAsync("Environments", new { id = Model.Id }).Result
组件:
public class EnvironmentsViewComponent : ViewComponent
{
public EnvironmentsViewComponent(PowerPhysics_DataContext context)
{
_context = context;
}
public async Task<IViewComponentResult> InvokeAsync(int? id)
{
var environments = await _context.Environments.SingleOrDefaultAsync(m => m.Id == id);
return View(environments);
}
}
我该如何在MVC6中使用PartialViews更新视图的部分内容?