在内容类型功能中为自定义字段类型设置自定义属性

时间:2010-10-27 16:44:46

标签: sharepoint

我创建了一个自定义字段类型(派生自SPFieldText)并添加了一个自定义属性“MyProperty”。现在我要找的是,我需要在我的内容类型功能中使用此字段类型。

如何在内容类型定义文件中指定我的自定义属性,就像我们使用OOB字段类型一样?

我见过一种解决方法here ,但它只解决了XSD验证的问题。站点列已正确安装,但安装该功能后未为该列设置我在该功能中指定的值。

提前感谢

阿伦

3 个答案:

答案 0 :(得分:1)

像这样的东西

<Field ID="{aec8cea1-d0df-49fc-baef-d356e58423f4}" Name="ClientWorkspace" DisplayName="$Resources:Nervogrid.Lauxtermann.Root,FieldWorkspaceDisplayName;" Type="ExtendedWorkspace" Group="$Resources:Nervogrid.Lauxtermann.Root,GroupLauxtermannFields;" AllowDuplicateValues="FALSE">
    <Customization>
      <ArrayOfProperty>
        <Property>
          <Name>SiteTemplates</Name>
          <Value xmlns:q1="http://www.w3.org/2001/XMLSchema" p4:type="q1:string" xmlns:p4="http://www.w3.org/2001/XMLSchema-instance">;#12203;#</Value>
        </Property>
        <Property>
          <Name>HideOnDisplayForm</Name>
          <Value xmlns:q2="http://www.w3.org/2001/XMLSchema" p4:type="q2:string" xmlns:p4="http://www.w3.org/2001/XMLSchema-instance">$Resources:core,fld_no;</Value>
        </Property>
        <Property>
          <Name>HideOnEditForm</Name>
          <Value xmlns:q3="http://www.w3.org/2001/XMLSchema" p4:type="q3:string" xmlns:p4="http://www.w3.org/2001/XMLSchema-instance">$Resources:core,fld_yes;</Value>
        </Property>
      </ArrayOfProperty>
    </Customization>
  </Field>

答案 1 :(得分:1)

这对我有用

     <Field ID="{EB4A62A3-5722-4D12-9AB8-BB36461D8E5D}" Type="MyCustomFieldType" Name="Website" DisplayName="Website" StaticName="Website" Required="true">
        <Customization>
          <ArrayOfProperty>
            <Property>
              <Name>MyFirstProperty</Name>
              <Value>www.stackoverflow.com</Value>
            </Property>
            <Property>
              <Name>MySecondProperty</Name>
              <Value>stackoverflow</Value>
            </Property>
          </ArrayOfProperty>
        </Customization>
      </Field>

您可以像这样访问验证类中的属性:

string myFieldValue = ((XmlNode[])this.GetCustomProperty("MyFirstProperty"))[0].Value;

答案 2 :(得分:0)