Если это всё-таки случилось, не надо спешить следовать рекомендациям Микрософта, удалять лист и делать всё заново, можно решить проблему куда проще.
Поскольку испортился только, скажем, NewForm.aspx, а EditForm.aspx у нас на месте, открываем неиспорченный файл и копируем весь код ListFormWebPart оттуда, после чего вставляем его в какую-нибудь WebPartZone. Код этот выглядит примерно вот так:
<WebPartPages:ListFormWebPart runat="server" __MarkupType="xmlmarkup" WebPart="true" __WebPartId="{2F5FA27F-56B9-46FC-90E1-85E853CA4204}" >
<WebPart xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://schemas.microsoft.com/WebPart/v2">
<Title>Переговорные</Title>
<FrameType>Default</FrameType>
<Description />
<IsIncluded>true</IsIncluded>
<PartOrder>1</PartOrder>
<FrameState>Normal</FrameState>
<Height />
<Width />
<AllowRemove>true</AllowRemove>
<AllowZoneChange>true</AllowZoneChange>
<AllowMinimize>true</AllowMinimize>
<AllowConnect>true</AllowConnect>
<AllowEdit>true</AllowEdit>
<AllowHide>true</AllowHide>
<IsVisible>false</IsVisible>
<DetailLink />
<HelpLink />
<HelpMode>Modeless</HelpMode>
<Dir>Default</Dir>
<PartImageSmall />
<MissingAssembly>Невозможно импортировать эту веб-часть.</MissingAssembly>
<PartImageLarge />
<IsIncludedFilter />
<ExportControlledProperties>true</ExportControlledProperties>
<ConnectionID>00000000-0000-0000-0000-000000000000</ConnectionID>
<ID>g_2f5fa27f_56b9_46fc_90e1_85e853ca4204</ID>
<ListName xmlns="http://schemas.microsoft.com/WebPart/v2/ListForm">{8CCD4B47-F922-4630-8F18-527F71928E4A}</ListName>
<ListItemId xmlns="http://schemas.microsoft.com/WebPart/v2/ListForm">0</ListItemId>
<ControlMode xmlns="http://schemas.microsoft.com/WebPart/v2/ListForm">Edit</ControlMode>
<TemplateName xmlns="http://schemas.microsoft.com/WebPart/v2/ListForm">ListForm</TemplateName>
<FormType xmlns="http://schemas.microsoft.com/WebPart/v2/ListForm">6</FormType>
<ViewFlag xmlns="http://schemas.microsoft.com/WebPart/v2/ListForm">1048576</ViewFlag>
</WebPart>
</WebPartPages:ListFormWebPart>А теперь - магия: меняем ControlMode на New и FormType на 8. Тогда эти строчки будут выглядеть вот так:
<ControlMode xmlns="http://schemas.microsoft.com/WebPart/v2/ListForm">New</ControlMode>
<TemplateName xmlns="http://schemas.microsoft.com/WebPart/v2/ListForm">ListForm</TemplateName>
<FormType xmlns="http://schemas.microsoft.com/WebPart/v2/ListForm">8</FormType>
* This source code was highlighted with Source Code Highlighter.Сохраняем файл. Вуаля! Всё заработало. Надеюсь, это сэкономит кому-нибудь пару часов бития головой об стену. :)
PS Для DispForm.aspx ControlMode, соответственно, Display, а FormType - 4.
No comments:
Post a Comment