2017-03-06 26 views
0

我想在用戶搜索窗口小部件後詢問用戶想要使用哪個窗口小部件,這會生成一個窗口小部件列表。我希望能夠點擊小部件的名稱,然後獲取小部件的URL。當我運行下面的代碼時,我得到了invalid need: expected Call, have PollBot Framework,提示選擇對象列表

public async Task SelectAfterSearch(IDialogContext context, List<Widget> widgetlist) 
{ 
    PromptDialog.Choice(context, this.OnWidgetSelected, GetListOfWidgets("list"), "Which one do you want more information about?", "Not a valid option", 3); 
} 

public async Task OnWidgetSelected(IDialogContext context, IAwaitable<Widget> result) 
{ 
    var chosen = await result; 
    await context.PostAsync($"You have chosen {chosen.Name}: {chosen.Url}"); 
} 

回答

2

你缺少一個context.WaitOnWidgetSelected方法結束。

public async Task OnWidgetSelected(IDialogContext context, IAwaitable<Widget> result) 
{ 
    var chosen = await result; 
    await context.PostAsync($"You have chosen {chosen.Name}: {chosen.Url}"); 
    context.Wait(...) // => usually you Wait on the MessageReceived method. 
} 
+0

仍然有同樣的錯誤。 – broodjetom

+0

如果你在OnWidgetSelected上放置了一個斷點,它會被命中嗎? –

+0

不可能,因爲它沒有收到結果。但是promptdialog永遠不會被執行 – broodjetom

相關問題