Настраиваемое приложение ListView в приложении SharePoint 2013

Я создал список в приложении SharePoint 2013, и Schema.xml содержит следующий узел, связанный с представлением AllItems.

    <View BaseViewID="1" 
    Type="HTML" 
    WebPartZoneID="Main" 
    DisplayName="$Resources:core,objectiv_schema_mwsidcamlidC24;" 
    DefaultView="TRUE" 
    OrderedView="TRUE" 
    MobileView="TRUE" 
    MobileDefaultView="TRUE" 
    SetupPath="pages\viewpage.aspx" 
    ImageUrl="/_layouts/15/images/generic.png?rev=23" 
    Url="AllItems.aspx">

Я хотел бы заменить SetupPath="pages\viewpage.aspx с моей собственной страницей, так что я могу маркировать ее в соответствии с требованиями моего клиента. Я уже создал свой Pages\CustomViewPage.aspx, но я не могу понять, как ссылаться на мою пользовательскую страницу.

Я пробовал следующие атрибуты. Я заменил SetupPath с Pathсм. Просмотр элемента (списка):

    <View BaseViewID="1" 
    Type="HTML" 
    WebPartZoneID="Main" 
    DisplayName="$Resources:core,objectiv_schema_mwsidcamlidC24;" 
    DefaultView="TRUE" 
    OrderedView="TRUE" 
    MobileView="TRUE" 
    MobileDefaultView="TRUE" 
    Path="~site/pages/customviewpage.aspx" 
    ImageUrl="/_layouts/15/images/generic.png?rev=23" 
    Url="AllItems.aspx">

Если я использую Path="~site/pages/customviewpage.aspx" или же Path="../pages/customviewpage.aspx"приложение не может быть развернуто, и ошибка не очень полезна (SharePoint Online):

    @"Error 1
    CorrelationId: aedf6556-ac09-4b0e-9367-905c81563a57
    ErrorDetail: There was a problem with activating the app web definition.
    ErrorType: App
    ErrorTypeName: App Related
    ExceptionMessage: <nativehr>0x80131600</nativehr><nativestack></nativestack>
    Source: AppWeb
    SourceName: App Web Deployment
    Error occurred in deployment step 'Install app for SharePoint': 
    Failed to install app for SharePoint. Please see the output window for details.

Если вы знаете, как ссылаться на собственную страницу ListView, напишите мне. Спасибо.

2 ответа

Я нашел обходной путь, это не совсем то, что я искал, но пока подойдет.

  1. У меня был Pages\CustomViewPage.aspx под папкой PagesЗатем я переместил свою пользовательскую страницу в Lists\MyList\CustomViewPage.aspx,
  2. Щелкните правой кнопкой мыши Lists\MyList\CustomViewPage.aspx и выберите Свойства.
  3. Установите тип развертывания: ElementFile.
  4. Затем установите View пометить следующим образом. Пожалуйста, обратите внимание на атрибут SetupPath был заменен на Path:

    <View BaseViewID="1" 
    Type="HTML" 
    WebPartZoneID="Main" 
    DisplayName="$Resources:core,objectiv_schema_mwsidcamlidC24;" 
    DefaultView="TRUE" 
    OrderedView="TRUE" 
    MobileView="TRUE" 
    MobileDefaultView="TRUE" 
    Path="customviewpage.aspx" 
    ImageUrl="/_layouts/15/images/generic.png?rev=23" 
    Url="AllItems.aspx">
    

Очевидно, что проблема была связана с неверным путем. Обходной путь выше помещает пользовательскую форму в ту же папку, что и список. Если вы знаете способ ссылки на файл в другой папке, пожалуйста, напишите мне.

Да. Все страницы просмотра внутри Списка SharePoint создаются непосредственно по пути Списка SharePoint. Библиотека страниц предназначена для текущей области сайта. Вы не можете использовать страницы библиотеки страниц в качестве страницы просмотра списка. Это вопрос относительного пути, и все, что вы реализовали, является правильным!

Другие вопросы по тегам