【发布时间】:2017-05-26 19:23:59
【问题描述】:
我正在创建一组视图组件,它们代表不同视图上的过滤器。到目前为止,它们工作得很好,但我不明白我正在经历的这种行为。
如果我使用声明两个 InvokeAsync:
public async Task<IViewComponentResult> InvokeAsync(string name)
public async Task<IViewComponentResult> InvokeAsync(string name, string title)
然后我明白了:
错误:视图组件“MyViewComponent”必须只有一个名为“InvokeAsync”或“Invoke”的公共方法。
但如果我改为这样做:
public async Task<IViewComponentResult> InvokeAsync(string name, string title = "")
然后发生这种情况:
<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
那么,是否可以使用默认参数?我不能为此使用模型(客户要求)
【问题讨论】:
标签: c# asp.net-core asp.net-core-viewcomponent