Frage

Ich verwende SharePoint 2013.Ich habe in Visual Studio 2013 ein visuelles Webpart entwickelt.Ich habe diesen Code im Code-Behind meines Webparts hinzugefügt:

public partial class VisualWebPart1UserControl : UserControl
{

    protected void Page_Load(object sender, EventArgs e)
    {

    }

    protected override void CreateChildControls()
    {
        base.CreateChildControls();
    }

    [WebPartStorage(Storage.Shared)]
    [Personalizable(PersonalizationScope.Shared)]
    [FriendlyNameAttribute("Update interval")]
    [Description("Insert feed update interval")]
    [WebBrowsable(true)]
    [Category("Message Configuration")]
    public int UpdateInterval { get; set; }

}

Ich stelle das Webpart bereit.Ich füge den Webpart zu meiner Homepage hinzu.Ich klicke auf „Webpart bearbeiten“ und sehe rechts oben alle Kategorien und Eigenschaften.Aber ich sehe meine benutzerdefinierte Kategorie „Nachrichtenkonfiguration“ nicht.Ich vermisse auch meine benutzerdefinierte Eigenschaft „UpdateInterval“ in den vorhandenen Kategorien.

Vermisse ich etwas in meinem Code?Ich möchte, dass nur eine benutzerdefinierte Eigenschaft etwas für die Site-Administratoren verwaltbar macht.

enter image description here

Ich habe einen Export meines Webparts in SharePoint durchgeführt.Ich habe die .webpart-Datei in Notepad++ geöffnet.Und das sehe ich unten.Ich sehe die benutzerdefinierte Eigenschaft nicht!

<webParts>
  <webPart xmlns="http://schemas.microsoft.com/WebPart/v3">
    <metaData>
      <type name="VisualWebPartProject1.VisualWebPart1.VisualWebPart1, VisualWebPartProject1, Version=1.0.0.0, Culture=neutral, PublicKeyToken=c139f77c8f6182b2" />
      <importErrorMessage>Cannot import this Web Part.</importErrorMessage>
    </metaData>
    <data>
      <properties>
        <property name="ExportMode" type="exportmode">All</property>
        <property name="HelpUrl" type="string" />
        <property name="Hidden" type="bool">False</property>
        <property name="Description" type="string">My Visual Web Part</property>
        <property name="CatalogIconImageUrl" type="string" />
        <property name="Title" type="string">VisualWebPartProject1 - VisualWebPart1</property>
        <property name="AllowHide" type="bool">True</property>
        <property name="AllowMinimize" type="bool">True</property>
        <property name="AllowZoneChange" type="bool">True</property>
        <property name="TitleUrl" type="string" />
        <property name="ChromeType" type="chrometype">Default</property>
        <property name="AllowConnect" type="bool">True</property>
        <property name="Width" type="unit" />
        <property name="Height" type="unit" />
        <property name="HelpMode" type="helpmode">Navigate</property>
        <property name="AllowEdit" type="bool">True</property>
        <property name="TitleIconImageUrl" type="string" />
        <property name="Direction" type="direction">NotSet</property>
        <property name="AllowClose" type="bool">True</property>
        <property name="ChromeState" type="chromestate">Normal</property>
      </properties>
    </data>
  </webPart>
</webParts>
War es hilfreich?

Lösung

Sind Sie sicher, dass Sie das Projekt als Projekt 2013 erstellt haben? Es sieht so aus, als würden Sie die Vorlage 2010 für Webteile verwenden. Im Jahr 2013 ist ein Visual WebPart eine Klasse, die von WebPart erbt. Im Jahr 2010 gibt es zwei Klassen, die von einem Web-Teil erbt, und eines, das von UserControl erbt. Im Jahr 2010 gibt es nur wenige Codezeilen in der Webpart-Klasse, die das UserControl laden. Also, 2010 gehen hier die Eigenschaften (in der Webpart-Klasse, nicht die UserControl-Klasse.)

Ihr Code sieht also für ein basierendes Web-Teil von 2013 gut aus.

edit: Ihr Immobiliencode sieht für ein basierendes Web-Teil 2013 gut aus, aber die Tatsache, dass sie von einem UserControl erbt, bedeutet, dass es sich um ein 2010 basierendes Webparts handelt.

Eigenschaften erstellen Im Jahr 2013 Webteile

Anwesenheit der Anordnungen im Jahr 2010 Webteile erstellen

Andere Tipps

Sie haben den Namen (WebDisplayName) vergessen:

generasacodicetagpre.

Quelle

Versuchen Sie hinzuzufügen WebDisplayName("your field name")

und stellen Sie sicher, dass der endgültige Code so aussieht

[WebBrowsable(true),
WebDisplayName("Project ID"),
WebDescription("Enter Project Number"),
Personalizable(PersonalizationScope.Shared),
Category("Project Settings")]
public string ProjectID { get; set; }

Außerdem können Sie die detaillierten Schritte unter überprüfen Erstellen Sie benutzerdefinierte Webpart-Eigenschaften für visuelle Webparts in SharePoint 2010–2013 Artikel

Ich hoffe, es hilft dir

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit sharepoint.stackexchange
scroll top