2017-05-26 95 views
1

我正在創建一組視圖組件,它們表示不同視圖上的過濾器。目前爲止他們工作得很好,但我不瞭解我正在經歷的這種行爲。具有可選參數的ViewComponent

如果我使用聲明兩個InvokeAsync:

public async Task<IViewComponentResult> InvokeAsync(string name) 
public async Task<IViewComponentResult> InvokeAsync(string name, string title) 

然後我得到這個:

Error: View component 'MyViewComponent' must have exactly one public method named 'InvokeAsync' or '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 

那麼,有沒有可能使用默認參數?我不能使用這個模型(客戶要求)

回答

0

this Github issue,它將被ASP.NET 2.2的核心來完成:

@Eilon modified the milestone: Backlog, 2.0.0-preview1 on Mar 22