我注意到在ASP.NET Core2.2中,我们可以使用以下命令从ViewComponent获取/设置RouteData:
Microsoft.AspNetCore.Mvc.ViewComponent.ViewComponentContext.ViewContext.RouteData当所有这些操作都是返回与ViewContext.RouteData完全相同的数据时,Microsoft.AspNetCore.Mvc.ViewComponent.RouteData的意义何在
发布于 2019-08-26 10:49:04
当您在viewComponent.cs中使用这两个方法时,它们返回相同的数据,从它们的定义中,您可以看到只有ViewComponentContext.ViewContext.RouteData可以用于单元测试,而ViewComponent.RouteData是只读的。
Microsoft.AspNetCore.Mvc.ViewComponent.ViewComponentContext.ViewContext.RouteData:
//
// Summary:
// Gets or sets the Microsoft.AspNetCore.Routing.RouteData for the current request.
//
// Remarks:
// The property setter is provided for unit test purposes only.
public RouteData RouteData { get; set; }Microsoft.AspNetCore.Mvc.ViewComponent.RouteData:(Read-only)
//
// Summary:
// Gets the Microsoft.AspNetCore.Mvc.ViewComponent.RouteData for the current request.
public RouteData RouteData { get; }不仅是RouteData,HttpContext等其他属性也具有相同的配置。ViewComponent依赖于ViewComponentContext.ViewContext来公开这些只读属性。
https://stackoverflow.com/questions/57642539
复制相似问题