带有可选参数的ViewComponent

SO *_*ood 8 c# asp.net-core asp.net-core-viewcomponent

我正在创建一组View Components,它们代表不同视图的过滤器.到目前为止它们工作得很好,但我不理解我遇到的这种行为.

如果我使用声明两个InvokeAsync:

public async Task<IViewComponentResult> InvokeAsync(string name)
public async Task<IViewComponentResult> InvokeAsync(string name, string title)
Run Code Online (Sandbox Code Playgroud)

然后我明白了:

错误:视图组件"MyViewComponent"必须只有一个名为"InvokeAsync"或"Invoke"的公共方法.

但如果我这样做的话:

public async Task<IViewComponentResult> InvokeAsync(string name, string title = "")
Run Code Online (Sandbox Code Playgroud)

然后这发生了:

<vc:my name="Hello" title="Hello"></vc:my> // Gets rendered
<vc:my name="Hello" title=""></vc:my>  // Gets rendered
<vc:my name="Hello"></vc:my> // Doesn't call InvokeAsync
Run Code Online (Sandbox Code Playgroud)

那么,是否可以使用默认参数?我无法使用模型(客户要求)

SO *_*ood 7

根据这个Github问题,看起来它似乎不会由团队完成.

@rynowak 2017年4月29日 - 我将把它移进去并标记为争夺.此时,锁定我们的公共API并完成工具故事需要优先考虑.

然后:

@rynowak 2017年6月29日这不适合2.0.0.我们目前没有时间更新工具.

到目前为止,该团队没有就此问题做出进一步回应.