私のLuis EntitiesをFormFlowフィールドにバインドするのに問題がありますので、FormFlowのステップをスキップできます。私FormFlowダイアログの簡易版はダイアログフィールドへのLuisエンティティのマッピング
[Serializable]
public class DoSearch
{
public string SearchTerm;
public static IForm<DoSearch> BuildForm()
{
var builder = new FormBuilder<DoSearch>();
return builder
.Message("Search Function")
.Field(nameof(DoSearch.SearchTerm))
.AddRemainingFields()
.Confirm("Are you sure you wish to search for {SearchTerm} ?")
.Build();
}
}
を次のようにあると私は、次のコード
public async Task StartSearch(IDialogContext context, LuisResult result)
{
var searchForm = new BuildForm<DoSearch>(() => DoSearch.BuildForm());
var searchForm1 = new FormDialog<DoSearch>(new DoSearch(), searchForm , FormOptions.PromptInStart, result.Entities);
context.Call<searchForm>(searchForm1, SearchComplete);
// ...
}
result.Entitiesでこれを呼び出しています適切なエンティティ(タイプ= SEARCHTERM)が、FormFlowを含んでいますそれが実行されるときに常にこれを求めます。
サンプルピザボットのサンプルコードが動作しているようですが、エンティティをフィールドにバインドすることはできません。
誰かが私が間違っていることを知っていますか?事前
をこんにちは@Ian_Boggs、あなたはおそらくあなたが最初の場所でFormFlowとLuisDialogを混合する方法であなたのソースを共有するだろうか?私は同じことをしようとしていますが、どのように把握していません。 – Jasper