我在_Layout.cshtml
中有一个视图组件。我的申请的路线为/home/{id}
。如何从View Component控制器获取URL路由中的id
值?
public class LayoutViewComponent : ViewComponent
{
public async Task<IViewComponentResult> InvokeAsync()
{
//how do I get the value of {id} here?
return View();
}
}
答案 0 :(得分:1)
您不希望视图单独从查询字符串中获取所需参数。它可以严格使用视图。
相反,您可以从父级传递Id
。
// Parent's Action Method
public IActionResult ParentActionMethod(int id)
{
// You could use strongly typed model
ViewBag.Id = 1;
return View();
}
// Parent's View
@await Component.InvokeAsync("Layout", new { Id = ViewBag.Id })
// View Component
public class LayoutViewComponent : ViewComponent
{
public async Task<IViewComponentResult> InvokeAsync(int id = 10)
{
return View();
}
}