내 사용자 정의 WebPart 속성이 누락 되었습니까? 내 코드에서 무엇이 그리워 했습니까?

sharepoint.stackexchange https://sharepoint.stackexchange.com/questions/112021

문제

SharePoint 2013을 사용하고 있습니다. Visual Studio 2013에서 Visual WebPart를 개발했습니다.이 코드는 웹 페이지 뒤에있는 코드 뒤에 있습니다.

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; }

}
.

ibpart를 배포합니다.나는 웹 페이지를 내 홈페이지에 추가합니다.웹 파트 편집을 클릭하고 모든 카테고리 및 속성 위에있는 바로 위에있는 것을보십시오.그러나 사용자 정의 카테고리 "메시지 구성"이 표시되지 않습니다.기존 카테고리의 사용자 정의 속성 "UpdateInterval"을 그리워합니다.

내 코드에서 뭔가를 그리워합니까?사이트 관리자가 관리 할 수있는 사용자 지정 속성 만 갖고 싶습니다.

여기에 이미지 설명

SharePoint에서 내 WebPart 내보내기를했습니다.notepad ++에서 .webpart 파일을 열었습니다.그리고 나는 이것을 아래에서 본다.사용자 정의 속성이 보이지 않습니다!

<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>
.

도움이 되었습니까?

해결책

프로젝트를 2013 년 프로젝트로 만들었습니까? 2010 년 템플릿을 사용하는 것처럼 보입니다. 2013 년에는 Visual WebPart는 WebPart에서 상속되는 클래스입니다. 2010 년에는 웹 파트에서 상속되는 두 가지 클래스가 있으며 UserControl에서 상속되는 두 개의 클래스가 있습니다. 2010 년에는 UserControl을로드하는 WebPart 클래스에 몇 줄의 코드 라인이 있습니다. 따라서 2010 년에 속성이있는 위치 (WebPart 클래스에서 UserControl 클래스가 아닌)

그래서 코드는 2013 기반 웹 파트에 대해 괜찮습니다.

편집 : 2013 기반의 웹 파트에서 속성 코드가 잘 보이지만 UserControl에서 상속하는 사실은 2010 기반 웹 파트임을 의미합니다.

2013 웹 파트의 속성 만들기

2010 웹 부품에서 정확한 제작

다른 팁

이름을 잊어 버렸습니다 (WebDisplayName) :

[WebBrowsable(true),
 WebDisplayName("Text Input"), //<----------------Needs a name
 WebDescription("This Accepts text Input"),
 Personalizable(PersonalizationScope.Shared),
 Category("My Category")]
 public string TextProperty1 { get; set; }
.

소스

WebDisplayName("your field name")

를 추가하십시오.

및 최종 코드가 다음과 같이 보이는지 확인하십시오

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

또한 SharePoint 2010-2013의 Visual WebPart의 사용자 정의 WebPart 속성 만들기 기사

에 도움이되기를 바랍니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 sharepoint.stackexchange
scroll top