Botframework Formflow ikke bindende LUIS builtin.number til int eller int? felt

stemmer
0

Jeg har et problem med at selv om det er en enhet i meldingen, fortsatt ber formflow meg å gå inn saksnummer. Jeg har erklært TicketNumber som int her. Jeg har også prøvd å erklære TicketNumber som int?

Jeg prøvde variasjon 2 hvor passert i antall. Men selv da blir jeg bedt om for ticketnumber viser 12345 som gjeldende valg når spørre. Kunne null Score som vi ser i ur nedenfor være et problem? Jeg har også andre større skjema med flere streng felt, og det fungerer fint.

Variant 1:

var ticketStatusParametersForm = new FormDialog<TicketStatusParameters>(new TicketStatusParameters(), this.MakeTicketStatusParametersForm, FormOptions.PromptInStart, result.Entities);

Variant 2:

var ticketNumber = 12345;
var ticketStatusParametersForm = new FormDialog<TicketStatusParameters>(new TicketStatusParameters { TicketNumber = ticketNumber}, this.MakeTicketStatusParametersForm, FormOptions.PromptInStart, result.Entities);

public class TicketStatusParameters
    {
       [Prompt(Please enter a ticket number {||})]
       [Describe(Ticket Number)]
       [Template(TemplateUsage.NotUnderstood, Please enter a valid ticket number. I did not understand \{0}\)]
       public int TicketNumber { get; set; }
   }
Publisert på 10/03/2017 klokken 18:08
kilden bruker
På andre språk...                            


2 svar

stemmer
1

Den automatiske bindingen fungerer ikke med Forhåndsbygde enheter som FormFlow bruker EntityRecommendation.Typeverdien til å se etter et felt med samme navn i skjemaet modell. Du må bruke Variasjon # 2.

skriv bildebeskrivelse her

Når det gjelder problemet som beskrives i Variation # 2, jeg tror problemet er at prompt har {||}mønster element, som ikke gir mening for ikke nummererbare felt.

Prøv å bruke bare [Prompt("Please enter a ticket number")]

Svarte 10/03/2017 kl. 18:38
kilden bruker

stemmer
0

Jeg har testkode som har en nullable felt, og når det felt passeres inn som en del av den tilstand som feltet er hoppet over. Med mindre du passerer i FormOptions.PromptFieldsWithValues, ser jeg ikke hvordan du får dette problemet. Du endret klassen til dette, ikke sant?

public class TicketStatusParameters
    {
       [Prompt("Please enter a ticket number {||}")]
       [Describe("Ticket Number")]
       [Template(TemplateUsage.NotUnderstood, "Please enter a valid ticket number. I did not understand \"{0}\"")]
       public int? TicketNumber { get; set; }
   }
Svarte 10/03/2017 kl. 20:42
kilden bruker

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more