2017-03-19 84 views
0

有没有任何方法可以通过验证委托传递发送的活动,而不仅仅是输入字符串?如果可能的话,这将非常酷。通过字段而不是字符串输入传递活动

FormBuilder<BusinessTrip> builder = new FormBuilder<BusinessTrip>(); 
return builder.Field(nameof(Order.Date), "When did you order the product?", validate: async (state, input) => { 
    // Do something. 
}) 
+0

你想实现什么? –

+0

我希望能够获得ChannelId和ChannelData – Tom

回答

0

你不能。如果要将活动中的数据传递到FormFlow,请使用表单状态来存储它们。当您实例化数据时,您可以将数据传递给状态FormFlow

var myform = new FormDialog<MyFormState>(new MyFormState(activity.ChannelId, activity.ChannelData), BuildForm, FormOptions.PromptInStart, null); 

context.Call<MyFormState>(myform, FormCompleteCallback); 
+0

好的,谢谢。 FormFlow仅实例化一次,对吗?所以在我的表单对话框中,我只有从启动表单的消息中获得第一个ChannelData,对吗? – Tom

+0

是的,就像任何其他对话一样。 –