在剃须刀页面中将ViewComponent作为字符串呈现为NULL参考错误

时间:2019-07-07 18:25:16

标签: c# asp.net asp.net-core razor razor-pages

我想在onget方法的pagemodel内部渲染视图组件。当我尝试执行页面时,我总是会收到NULL REFERENCE ERROR。有人可以帮我吗。这是我正在使用的代码。

  private readonly IViewComponentHelper _helper;

    public MyPage( IViewComponentHelper helper)
    {
        _helper = helper;
    }

    public async Task<ActionResult> OnGet( string id,string type)
    {

        var result = await _helper.InvokeAsync(
                         "mycomponent",
                         new
                             {
                                 id= id,
                                 type = type
                             });
     }

1 个答案:

答案 0 :(得分:0)

尝试一下,看看是否可行。

  1. 在页面中定义ViewContext属性
[ViewContext]
public ViewContext ViewContext { get; set; }
  1. 在致电_helper.InvokeAsync之前,添加以下代码行
((IViewContextAware)_helper).Contextualize(ViewContext);

希望这会有所帮助!