私はsensenetと一緒に作業していますが、サーバーサイドでコードの後ろにノードを作成すると混乱します。ノードに参照フィールドを追加する必要がありますそれを行う。ノードを作成するときに参照を追加する
私はnode["user"] = node1
のようないくつかのことを試してみましたが、それは動作しません。
私はsensenetと一緒に作業していますが、サーバーサイドでコードの後ろにノードを作成すると混乱します。ノードに参照フィールドを追加する必要がありますそれを行う。ノードを作成するときに参照を追加する
私はnode["user"] = node1
のようないくつかのことを試してみましたが、それは動作しません。
あなたは、私が参照フィールドを追加するために見つけることの文書 をお読みください、あなたはこの
node.Addreferences("User", user1);
user1のようないくつかのものを使用する必要がある1つのノードが、あなたが参照する必要があるユーザーのために表しているnはあなたのフィールド
Sensenet内のすべてのコンテンツ(データ)はbinary treeで構成され、Nodeはコンテンツタイプ定義(CTD)で指定された特定のContentオブジェクトを参照します。ノードが別のノードを参照するとき(つまり、ツリー内の別の場所を指す場合)は、2つのタイプのいずれかになります。
参照を正しく割り当ててもエラーが発生する場合は、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