Sharepoint項目の更新のイベントキャンセルイベントに返editformのページに表示すべき事は何か?

StackOverflow https://stackoverflow.com/questions/2050466

  •  20-09-2019
  •  | 
  •  

質問

私はイベント受信のためのコンテンツタイプに検証するデータのItemUpdatingイベントです。をキャンセルした場合、イベント(一部のデータのない限り有効とえば、プロパティを設定解除にtrue:

properties.Cancel = true;
properties.ErrorMessage = "...";

SharePointを取り消しを更新イベントokでは、SharePoint標準エラーページ(指定されたメッセージ).唯一の問題は、がんの苦情で、日本には実は非常に有に戻すべきEditFormページの内容が更新されます。

で行うことはあります。の民族植物学庭園と植物またはその実装することができ、自分のエラーページが鳴非常に重いソリューション(理論)の簡単な工程です。

役に立ちましたか?

解決

あなたはにErrorMessageで(同様のjavascriptを含んでいる)、出力HTMLコードに試みることができます。しかし、あなたがそうしても、問題はあなたが戻って、ユーザが入力したデータへの安全な方法を持っていないということです。あなたはHTTP / 301リダイレクトを作成し、それは新しいページのロードだ、またはあなたは、クライアントがJavaScriptでhistory.back()を移動して、ブラウザがページをリロードして作るのいずれか。

これを行う公式の方法は、リストの定義を作成し、リストテンプレートをカスタマイズすることです。次に、編集フォームテンプレートを編集して、必要な数のASP.Net検証コントロールが含まれています。あなたが必要とし、サーバー側のロジックを実装します。この記事では、テクニックを説明します: http://msdn.microsoft.com/en-私たち/ライブラリ/ aa543922.aspxする

編集:特定のContentTypeを編集するためのカスタムコントロールをアタッチするには、あなたのContentTypeを定義にXmlDocumentsセクションを追加します。例えば、このような

<ContentType
    ..........

    <XmlDocuments>
      <XmlDocument NamespaceURI="http://schemas.microsoft.com/sharepoint/v3/contenttype/forms">
        <FormTemplates xmlns="http://schemas.microsoft.com/sharepoint/v3/contenttype/forms">
          <Display>ContentTypeName_DispForm</Display>
          <Edit>ContentTypeName_EditForm</Edit>
          <New>ContentTypeName_NewForm</New>
        </FormTemplates>
      </XmlDocument>
    </XmlDocuments>
  .......
"

そして、あなたにもそのようなブロックが含まれている独自のyoursolution_controltemplates.ascxファイルを作成します

<SharePoint:RenderingTemplate ID="ContentTypeName_DispForm" runat="server"> 
<Template>
      <!-- put whatever controls you need here, we typically create a 
           separate custom control which implements everything-->
</Template>
</SharePoint:RenderingTemplate>

他のヒント

ることができるリダイレクトを利用CopyUtil: http://weblogs.asp.net/jan/archive/2008/02/26/copyutil-aspx-a-little-sharepoint-gem.aspx

link="http://yoursite/_layouts/CopyUtil.aspx?Use=id&Action=dispform&ItemId=X&ListId=X&WebId=X&SiteId=X";

ページです。に応じます。リダイレクト(リンク)

この仕事

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top