如何在DataFormWebPart中创建自定义属性

时间:2011-08-09 14:49:59

标签: visual-studio sharepoint web-parts

我有一个我正在处理的自定义Web部件,它具有XSL链接属性,可将其连接到运行Web部件的XSLT文件。我想创建另一个布尔字段,当选中时,Web部件将链接到另一个XSLT文件。我不能使用get / set方法,因为这不是标准的Web部件。我没有推动此Web部件的C#页面。我有.webpart文件,其中包含属性的所有值,我认为这是我需要放置代码的地方。我只是不确定如何做到这一点。任何帮助将非常感激。这是.webpart文件的一部分:

<webParts>
<webPart xmlns="http://schemas.microsoft.com/WebPart/v3">
<metaData>
  <type name="Microsoft.SharePoint.WebPartPages.DataFormWebPart, Microsoft.SharePoint, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" />
  <importErrorMessage>Cannot import this Web Part.</importErrorMessage>
</metaData>
<data>
  <properties>
    <property name="PageSize" type="int">-1</property>
    <property name="HelpMode" type="helpmode">Modeless</property>
    <property name="Height" type="string" />
    <property name="SampleData" type="string" null="true" />
    <property name="AllowConnect" type="bool">True</property>
    <property name="CatalogIconImageUrl" type="string" />
    <property name="XslLink" type="string">/home/appbar.xslt</property>
    <property name="AllowClose" type="bool">True</property>
    <property name="Hidden" type="bool">False</property>
    <property name="MissingAssembly" type="string">Cannot import this Web Part.</property>
    <property name="TitleIconImageUrl" type="string" />
    <property name="ChromeState" type="chromestate">Normal</property>
    <property name="FireInitialRow" type="bool">True</property>
    <property name="Description" type="string" />
    <property name="AllowMinimize" type="bool">True</property>
    <property name="Xsl" type="string" null="true" />

<property name="ExportMode" type="exportmode">All</property>
    <property name="AllowZoneChange" type="bool">True</property>
    <property name="Default" type="string" />
    <property name="UseSQLDataSourcePaging" type="bool">True</property>
    <property name="ParameterBindings" type="string">
                    &lt;ParameterBinding Name="ListName" Location="None" DefaultValue="MDocLinks"/&gt;
                    &lt;ParameterBinding Name="dvt_apos" Location="Postback;Connection"/&gt;
                    &lt;ParameterBinding Name="UserID" Location="CAMLVariable" DefaultValue="CurrentUserName"/&gt;
                    &lt;ParameterBinding Name="Today" Location="CAMLVariable" DefaultValue="CurrentDate"/&gt;
                </property>
    <property name="DisplayName" type="string" />
    <property name="NoDefaultStyle" type="string">TRUE</property>
    <property name="Title" type="string">MDock</property>
    <property name="AllowHide" type="bool">True</property>
    <property name="ViewFlag" type="string">0</property>
  </properties>
</data>
</webPart>
</webParts>

这是其中的大部分内容。我不想填满太多的页面。 :)

2 个答案:

答案 0 :(得分:1)

<。> .webpart只是web部件的定义。后端代码已经存在,您只需定义哪个程序集/类负责处理。

要完成您所指的内容,您需要在Visual Studio中创建一个继承自DataFormWebPart的新Web部件。

然后,您可以添加其他属性和条件查找逻辑。

答案 1 :(得分:0)