我想用json模式構建用戶和對話特定的對話框,並且我有完美地生成json的LINQ查詢。如果我將json的一個樣本保存到磁盤上,並使用它作爲annotatedsandwich示例從磁盤上的文件中讀取它,那麼效果很好。每個用戶和對話json是唯一的,而不是寫入磁盤,我想在內存中使用它。我沒有看到如何將json字符串傳遞給BuildJsonForm方法,或者如何獲取BuildJsonForm方法中的用戶ID信息,以便根據用戶和會話生成json。我知道我錯過了可以讓我這樣做但我沒有找到它的東西。任何協助如何做到這一點將不勝感激。謝謝。使用Json創建FormDialog
1
A
回答
0
而不是做(使用AnnotatedSandwich代碼)
FormDialog.FromForm(SandwichOrder.BuildJsonForm)
你可以只建BuildFormDelegate並通過您的參數:
string schema = "your jsonform schema";
BuildFormDelegate<JObject> formDelegate =() => SandwichOrder.BuildJsonForm(schema);
FormDialog.FromForm(formDelegate)
0
創建自定義表單生成器到你通過自定義窗體json模式
[Serializable]
public class CustomFormBuilder
{
public string FormJson { get; set; }
public CustomFormBuilder(string formJson)
{
FormJson = formJson;
}
public IForm<JObject> BuildJsonForm()
{
var schema = JObject.Parse(FormJson);
var form = new FormBuilderJson(schema)
.AddRemainingFields()
.Build();
return form;
}
}
用法如下(其中formJson是y我們的用戶特定表格)
var formBuilder = new CustomFormBuilder(formJson);
var jsonFormDialog = FormDialog.FromForm(
formBuilder.BuildJsonForm,
FormOptions.PromptInStart);
這將避免ClosureCaptureException。
相關問題
- 1. 使用JSON創建HTML
- 2. 使用Python創建JSON
- 3. 使用GSON創建JSON-LD
- 4. 創建使用JSON和jQuery
- 5. 創建使用JSON模式
- 6. 使用JSON創建XmlHttpRequest POST
- 7. 使用Jackson創建JSON
- 8. 使用.net創建JSON
- 9. 在FormDialog中可選
- 10. 使用Jackson庫創建JAVA使用JSON文件創建地圖
- 11. 用php創建JSON
- 12. 調用FormDialog並立即啓動
- 13. 如何使用JSON創建對象?
- 14. 使用jsonify創建json數組
- 15. 使用php創建Json輸出頁面
- 16. 使用foreach循環創建JSON文檔
- 17. 使用JavaScript動態創建JSON
- 18. 如何使用JSON創建RSS提要?
- 19. 使用JSON和PHP創建註冊API
- 20. 使用嵌套類創建JavaScript JSON類
- 21. 使用json數據創建圖表
- 22. 使用json參數創建GET請求
- 23. 使用json的optgroup創建html選擇
- 24. PHP ZEND使用Json值創建URL
- 25. 使用PHP簡單創建JSON
- 26. 使用JSON創建moustache.js html模板
- 27. 使用org.json在java中創建JSON
- 28. 使用python嵌套創建Json文件
- 29. 使用動態值創建json
- 30. 如何使用jQuery JSON創建表?
ejadib,非常感謝你的建議。我試了一下,但是當我運行這個例子的時候,我得到了一個ClosureCaptureException:「捕獲環境的匿名方法閉包不是可序列化的,考慮去除環境捕獲或者使用反射序列化代理:{instance}」。有關如何避免這種情況的任何想法? – wjvii