Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 自定义字段不保存_C#_List_Sharepoint_Sharepoint 2010_Custom Fields - Fatal编程技术网

C# 自定义字段不保存

C# 自定义字段不保存,c#,list,sharepoint,sharepoint-2010,custom-fields,C#,List,Sharepoint,Sharepoint 2010,Custom Fields,我创建了一个包含cumstom字段的列表(sharepoint 2010)。自定义字段继承自SPFieldUser。 在我创建了一个新的ListItem(webfrontend)并查看了元素详细信息之后,该字段为空 webfront的NewItemForm Webfronted ItemDetails表单 Webfronted EditItemForm 我的代码: public class Vertreter_FieldType:SPFieldUser { public Ve

我创建了一个包含cumstom字段的列表(sharepoint 2010)。自定义字段继承自SPFieldUser。 在我创建了一个新的ListItem(webfrontend)并查看了元素详细信息之后,该字段为空

webfront的NewItemForm Webfronted ItemDetails表单 Webfronted EditItemForm

我的代码:

public class Vertreter_FieldType:SPFieldUser
    {
     public Vertreter_FieldType(SPFieldCollection fields, string fieldName)
           : base(fields, fieldName)
       {

       }
        public Vertreter_FieldType(SPFieldCollection fields, string typeName, string fieldName)
            : base(fields, typeName, fieldName)
        {
        }

        public override object GetFieldValue(string value)
        {
            return base.GetFieldValue(value);
        }

        public override string DefaultValue
        {
            get
            {
                return base.DefaultValue;
            }
            set
            {
                base.DefaultValue = value;
            }
        }
    }
<FieldTypes>
  <FieldType>
    <Field Name="TypeName">Vertreter_FieldType</Field>
    <Field Name="ParentType">User</Field>
    <Field Name="TypeDisplayName">Vertreter</Field>
    <Field Name="TypeShortDescription">Auswahl Vertreter</Field>
    <Field Name="UserCreatable">TRUE</Field>
    <Field Name="FieldTypeClass">CustomFieldTypes.Vertreter_FieldType, $SharePoint.Project.AssemblyFullName$</Field>
  </FieldType>
</FieldTypes>
<?xml version="1.0" encoding="utf-8"?>
<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
...
<Field ID="{2C338272-3BC8-45bc-B33E-5FBD1223F398}"
         DisplayName="Administrator" Name="Administrator" 
         Type="Admin_FieldType" Required="TRUE"
         UnlimitedLengthInDocumentLibrary="FALSE"
     />
  <Field ID="{585CE72A-72D7-4ecc-8324-484BA1E483F1}"
         DisplayName="Vertreter" Name="Vertreter"
         Type="Vertreter_FieldType" Required="TRUE"
         UnlimitedLengthInDocumentLibrary="FALSE"
         >
  </Field>
...
  <FieldRefs>

...
     <FieldRef ID="{2C338272-3BC8-45bc-B33E-5FBD1223F398}" Name="Administrator" Required="TRUE" ShowInNewForm="TRUE" ShowInEditForm="TRUE" />
     <FieldRef ID="{585CE72A-72D7-4ecc-8324-484BA1E483F1}" Name="Vertreter" Required="TRUE" ShowInNewForm="TRUE" ShowInEditForm="TRUE" />
 ...

    </FieldRefs>
  </ContentType>
</Elements>
XML-fldtypes:

public class Vertreter_FieldType:SPFieldUser
    {
     public Vertreter_FieldType(SPFieldCollection fields, string fieldName)
           : base(fields, fieldName)
       {

       }
        public Vertreter_FieldType(SPFieldCollection fields, string typeName, string fieldName)
            : base(fields, typeName, fieldName)
        {
        }

        public override object GetFieldValue(string value)
        {
            return base.GetFieldValue(value);
        }

        public override string DefaultValue
        {
            get
            {
                return base.DefaultValue;
            }
            set
            {
                base.DefaultValue = value;
            }
        }
    }
<FieldTypes>
  <FieldType>
    <Field Name="TypeName">Vertreter_FieldType</Field>
    <Field Name="ParentType">User</Field>
    <Field Name="TypeDisplayName">Vertreter</Field>
    <Field Name="TypeShortDescription">Auswahl Vertreter</Field>
    <Field Name="UserCreatable">TRUE</Field>
    <Field Name="FieldTypeClass">CustomFieldTypes.Vertreter_FieldType, $SharePoint.Project.AssemblyFullName$</Field>
  </FieldType>
</FieldTypes>
<?xml version="1.0" encoding="utf-8"?>
<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
...
<Field ID="{2C338272-3BC8-45bc-B33E-5FBD1223F398}"
         DisplayName="Administrator" Name="Administrator" 
         Type="Admin_FieldType" Required="TRUE"
         UnlimitedLengthInDocumentLibrary="FALSE"
     />
  <Field ID="{585CE72A-72D7-4ecc-8324-484BA1E483F1}"
         DisplayName="Vertreter" Name="Vertreter"
         Type="Vertreter_FieldType" Required="TRUE"
         UnlimitedLengthInDocumentLibrary="FALSE"
         >
  </Field>
...
  <FieldRefs>

...
     <FieldRef ID="{2C338272-3BC8-45bc-B33E-5FBD1223F398}" Name="Administrator" Required="TRUE" ShowInNewForm="TRUE" ShowInEditForm="TRUE" />
     <FieldRef ID="{585CE72A-72D7-4ecc-8324-484BA1E483F1}" Name="Vertreter" Required="TRUE" ShowInNewForm="TRUE" ShowInEditForm="TRUE" />
 ...

    </FieldRefs>
  </ContentType>
</Elements>

Vertreter_字段类型
使用者
维特莱特
奥斯瓦尔旋转器
真的
CustomFieldTypes.Vertreter_字段类型,$SharePoint.Project.AssemblyFullName$
我的内容列表的基础类型:

public class Vertreter_FieldType:SPFieldUser
    {
     public Vertreter_FieldType(SPFieldCollection fields, string fieldName)
           : base(fields, fieldName)
       {

       }
        public Vertreter_FieldType(SPFieldCollection fields, string typeName, string fieldName)
            : base(fields, typeName, fieldName)
        {
        }

        public override object GetFieldValue(string value)
        {
            return base.GetFieldValue(value);
        }

        public override string DefaultValue
        {
            get
            {
                return base.DefaultValue;
            }
            set
            {
                base.DefaultValue = value;
            }
        }
    }
<FieldTypes>
  <FieldType>
    <Field Name="TypeName">Vertreter_FieldType</Field>
    <Field Name="ParentType">User</Field>
    <Field Name="TypeDisplayName">Vertreter</Field>
    <Field Name="TypeShortDescription">Auswahl Vertreter</Field>
    <Field Name="UserCreatable">TRUE</Field>
    <Field Name="FieldTypeClass">CustomFieldTypes.Vertreter_FieldType, $SharePoint.Project.AssemblyFullName$</Field>
  </FieldType>
</FieldTypes>
<?xml version="1.0" encoding="utf-8"?>
<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
...
<Field ID="{2C338272-3BC8-45bc-B33E-5FBD1223F398}"
         DisplayName="Administrator" Name="Administrator" 
         Type="Admin_FieldType" Required="TRUE"
         UnlimitedLengthInDocumentLibrary="FALSE"
     />
  <Field ID="{585CE72A-72D7-4ecc-8324-484BA1E483F1}"
         DisplayName="Vertreter" Name="Vertreter"
         Type="Vertreter_FieldType" Required="TRUE"
         UnlimitedLengthInDocumentLibrary="FALSE"
         >
  </Field>
...
  <FieldRefs>

...
     <FieldRef ID="{2C338272-3BC8-45bc-B33E-5FBD1223F398}" Name="Administrator" Required="TRUE" ShowInNewForm="TRUE" ShowInEditForm="TRUE" />
     <FieldRef ID="{585CE72A-72D7-4ecc-8324-484BA1E483F1}" Name="Vertreter" Required="TRUE" ShowInNewForm="TRUE" ShowInEditForm="TRUE" />
 ...

    </FieldRefs>
  </ContentType>
</Elements>

...
...
...
...
我的环境:sharepoint 2010、visualstudio 2010


谢谢你的帮助

找到了解决方案:我必须在字段定义中添加List=“UserInfo”

<Field ID="{585CE72A-72D7-4ecc-8324-484BA1E483F1}" DisplayName="Vertreter" Name="Vertreter" Type="Vertreter_FieldType" Required="TRUE" UnlimitedLengthInDocumentLibrary="FALSE" List="UserInfo">

找到了解决方案:我必须在字段定义中添加List=“UserInfo”

<Field ID="{585CE72A-72D7-4ecc-8324-484BA1E483F1}" DisplayName="Vertreter" Name="Vertreter" Type="Vertreter_FieldType" Required="TRUE" UnlimitedLengthInDocumentLibrary="FALSE" List="UserInfo">