c# - 如何通过 Asp .Net Core 控制器将参数传递给视图组件
问题描述
我需要从控制器向视图组件传递一些值。我尝试了不同的方法,但它不传输。如果我没有将任何东西传递给构造函数,那么一切正常,但是当我尝试将它传递给构造函数时,它甚至不会调用 ViewComponent
控制器:
[HttpGet]
public IActionResult AddToCart(int id)
{
return ViewComponent("Cart", new {id});
}
查看组件:
public class CartViewComponent : Microsoft.AspNetCore.Mvc.ViewComponent
{
int gId;
public CartViewComponent(int id)
{
gId = id;
}
public IViewComponentResult Invoke()
{
return View();
}
}
解决方案
调用视图组件包括以下解释:
参数将传递给
InvokeAsync
方法。
这意味着您应该将id
参数从构造函数移动到Invoke
方法:
public class CartViewComponent : Microsoft.AspNetCore.Mvc.ViewComponent
{
public IViewComponentResult Invoke(int id)
{
// Use id here.
return View();
}
}
推荐阅读
- jquery - 如何使用jquery中的按钮更改字体大小,它位于“vw”而不是“px”
- swift - 有没有一种优雅的方法来确定两个日期是否在 Swift 中被一年中的一周分开?
- spring - 多模块Maven项目中的应用程序上下文 - Spring
- javascript - 在 Django 中使用 javascript 删除禁用的属性
- html - 如何在伪提示(工具提示)中制作文本宽度?
- image - 在 Markdown 中对齐图像
- xml - 将 XML 转换为 SVG
- javascript - 如果文件系统上的 JavaScript 文件发生更改,节点进程是否受到保护?
- java - 我为 Rubymine 创建的插件不兼容
- python - Tensorflow 对象检测:ImportError: cannot import name 'inception_resnet_v2'