2016-10-26 10 views
1

私はと一緒に作業していますが、サーバーサイドでコードの後ろにノードを作成すると混乱します。ノードに参照フィールドを追加する必要がありますそれを行う。ノードを作成するときに参照を追加する

私はnode["user"] = node1

のようないくつかのことを試してみましたが、それは動作しません。

答えて

0

あなたは、私が参照フィールドを追加するために見つけることの文書 をお読みください、あなたはこの

node.Addreferences("User", user1); 

user1のようないくつかのものを使用する必要がある1つのノードが、あなたが参照する必要があるユーザーのために表しているnはあなたのフィールド

1

Sensenet内のすべてのコンテンツ(データ)はbinary treeで構成され、Nodeはコンテンツタイプ定義(CTD)で指定された特定のContentオブジェクトを参照します。ノードが別のノードを参照するとき(つまり、ツリー内の別の場所を指す場合)は、2つのタイプのいずれかになります。

  1. これは、任意のノードのいずれかに指すことができ、又は
  2. CTDで指定されるようにそれは、 特定のタイプに制限することができます。

参照を正しく割り当ててもエラーが発生する場合は、CTDのタイプ制約に違反している可能性があります。以下の例を参照してください。特定のタイプの基準ノードの

CTD(部分)上記で定義されたカテゴリリファレンスにノードを割り当てる

<ContentType name="Agent" parentType="GenericContent" handler="Code.ContentHandlers.Agent" xmlns="http://schemas.sensenet.com/SenseNet/ContentRepository/ContentTypeDefinition"> 
    <DisplayName>Agent</DisplayName> 
    <Icon>Content</Icon> 
    <Fields> 

    <Field name="Category" type="Reference"> 
     <DisplayName>Agent Category</DisplayName> 
     <Description></Description> 
     <Configuration> 
     <AllowedTypes> 
      <Type>AgentCategory</Type> 
     </AllowedTypes> 
     <VisibleBrowse>Show</VisibleBrowse> 
     </Configuration> 
    </Field> 

    </Fields> 
</ContentType> 

例C#コード。

var path = "/Root/PathToAgentCategory"; 
var agentCat = Node.LoadNode(path) as AgentCategory; 
myAgentNode.Category = agentCat;  // Syntax if you have a ContentHandler 
myAgentNode["Category"] = agentCat; // Syntax for the GenericContent ContentHandler 
関連する問題