2017-02-03 17 views
0

現在、C#Web APIを使用してKenticoからデータを取得しようとしていますが、データを正常に取得できますが、データベースに格納する予定です。コールを使用してGET API要求フォームデータ型

のように:/rest/bizformitem.bizform.contactus

私は戻って、フォーム内のすべてのデータ受信が、私はデータベースにこれらの値を格納しておりますので、私はそのフォームの名前/値のフィールドのデータ型を知っていただきたいと思います。

ほとんどのAPIリファレンスには、ID:USER_ID | Type:int | Desc:User ID Form Fieldなどのリストがあります。

フォーム内でこれらの値についてのAPIやドキュメントを参照しようとしていますので、助けていただければ幸いです。

答えて

1

CMS_Classデータベーステーブルを参照します。あなたのクラスを見つけると、ClassFormDefinitionフィールドがあります。タイプインプットを持つすべてのフィールドを表示するXMLがあります。

その後、以下、[列= "YourColumnName" @] //フィールドのSELECTNODES、XmlDocumentオブジェクトにXMLをロードしますが、XML

<field column="CultureName" visible="true" columntype="text" fieldtype="CustomUserControl" system="true" columnsize="200" publicfield="false" guid="7b7c2f84-da09-4874-aade-a4d3b77b975d"> 

のサンプルが今に注意され、columntypeはKenticoの特定の一種であります名前を付けるので、.NetクラスまたはSQLデータベースのいずれかに変換するためのスイッチを実行する必要があります。

switch (fieldType) 
     { 
      case "longtext": 
      case "text": 
      default: 
       dt.Columns.Add(fieldName, typeof(string)); 
       break; 
      case "binary": 
       dt.Columns.Add(fieldName, typeof(byte[])); 
       break; 
      case "boolean": 
       dt.Columns.Add(fieldName, typeof(Boolean)); 
       break; 
      case "date": 
       dt.Columns.Add(fieldName, typeof(DateTime)); 
       break; 
      case "datetime": 
       dt.Columns.Add(fieldName, typeof(DateTime)); 
       break; 
      case "decimal": 
       dt.Columns.Add(fieldName, typeof(Decimal)); 
       break; 
      case "double": 
       dt.Columns.Add(fieldName, typeof(Double)); 
       break; 
      case "integer": 
       dt.Columns.Add(fieldName, typeof(Int32)); 
       break; 
      case "longinteger": 
       dt.Columns.Add(fieldName, typeof(Int64)); 
       break; 
      case "timespan": 
       dt.Columns.Add(fieldName, typeof(TimeSpan)); 
       break; 
      case "guid": 
       dt.Columns.Add(fieldName, typeof(Guid)); 
       break; 
     } 
+0

CMS_ClassデータベーステーブルはREST API経由でアクセスできますか? – confusedandamused

+0

はい、 '/ rest/cms.class/all'でデータを取得することができます – rocky

+0

@rocky' /rest/cms.form/allまたは/ rest/cms.class/all'を試すときに理由がありますか? 403エラー? – confusedandamused

関連する問題