2016-07-05 6 views
0

Ich baue einen Bot mit Bot Framework, C# Bot Builder und FormFlow (mit FieldRelector). In einem Schritt muss ich eine offene Frage an den Benutzer wie "Fügen Sie weitere relevante Informationen", wo ich nur etwas Text sammeln und speichern für die spätere Verwendung. Ich habe versucht, die Variable als String zu definieren:Wie man offene Fragen im Bot-Framework stellt?

[Prompt("Add any other relevant information")] 
    public string OpenText; 

In Form Kette habe ich:

.Field(new FieldReflector<MyForm>(nameof(OpenText)) 
         .SetType(null) 
         .SetActive(state => !state.Finished())) 

aber das hilft nicht, was ich den Bot Antworten geben:

"blah blah" is not a open text option. 

Wie geht das?

Antwort

0

Gibt es einen Grund, warum Sie einen FieldReflector für diese Eigenschaft verwenden? Ich würde vorschlagen, nur ein normales Feld für diese Eigenschaft zu definieren (Sie können ein Formular mit Feldern haben, die mit FieldReflector definiert sind und Felder, die nur mit Field definiert sind).

Verwenden Sie einfach:

.Field(nameof(MyForm.OpenText), state => !state.Finished()) 

Wenn es einen Grund FieldReflector zu verwenden ist, aktualisieren Sie bitte die Post mit der gesamten Formulardefinition.

+0

Danke! Das funktioniert. Du hast recht, ich brauche in diesem Fall keinen FieldReflector. – Paolo

+0

Ehrfürchtig !. Könnten Sie bitte die Frage als beantwortet markieren? –