2009-08-24 15 views
1

カスタムコントロールテンプレートに問題があります。SharePointカスタムコントロールテンプレートが適用されていません

私の意図は、NewForm.aspxでカスタムコントロールテンプレートを使用してリストを作成することです。

  1. 私はCustomTemplate.ascxファイルを作成して、これは私は私のカスタムテンプレートを使用するリストについては、schema.xmlファイルを変更した12/Template/CONTROLTEMPLATES

    <SharePoint:RenderingTemplate ID="CustomListForm" runat="server" >...

  2. に展開されます。

    <Form Type="NewForm" Url="NewForm.aspx" WebPartZoneID="Main" Template="CustomListForm" />

ただし、私のNewForm.aspxページにはデフォルトビューが表示されます。これは、私のリストテンプレートに基づいて新しいリストと既存のリストの両方のためです。私は展開の周りにIISを再起動しようとしましたが、これは役に立ちません。

テンプレートの名前を "ListForm"に変更すると、デフォルトのテンプレートが正常に上書きされ、既存のリストと新しいリストに変更が反映されます。

私はこのサイトとGoogleのヘルプを探しましたが、何も見つかりませんでした。誰もこれを前にして来たのですか?

答えて

2

コンテンツタイプのTemplateNameがnullまたは空の文字列であることを確認してください。 ContentTypeで定義されたTemplateNameは、リストスキーマで定義されたすべてのTemplateNameをオーバーライドします。

FYIでは、アイテムタイプ 'Item'のNewFormTemplateNameに 'ListForm'が設定されていますが、これはリストスキーマで定義されたカスタムテンプレート名を上書きします。

0

CustomTemplate.ascxのどこかでエラーが発生していると思います。 -
CustomTempate.ascxのコードを投稿することはできますか?

0

実行したすべてのステップが正しいです。私は過去に似たようなことをしており、それを成功させるのに成功しました。私が提案していることは、あなたが次のコードを書いてみることです。上記のコードは、右のテンプレート名を返している場合

 SPList oList=SPContext.Current.Web.Lists["YourList"]; 
     Console.WriteLine(oList.Forms[PAGETYPE.PAGE_NEWFORM].TemplateName); 

は、テンプレート自体が間違ってassociation.Something /展開と問題はありません。 SharePointログを調べることができます。あなたはより多くの情報を得るべきです。

+0

OK、NewFormを表示しようとした後でログを確認しました。 高い\t警告:既に[新規]に設定されているため、FormContext.FormModeを[無効]に変更できません アイデアがありますか? – Jonny

0

Hmmm面白い点があります。エラーをスローするのではなく、デフォルトでSharePointをフォールバックさせる構文エラーが予想されますか?私はDefaultTemplates.ascxファイルからディレクティブをコピーし

<%@ Control Language="C#" AutoEventWireup="false" %> 
<%@Assembly Name="Microsoft.SharePoint, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %> 
<%@Register TagPrefix="SharePoint" Assembly="Microsoft.SharePoint, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" namespace="Microsoft.SharePoint.WebControls"%> 
<%@Register TagPrefix="SPHttpUtility" Assembly="Microsoft.SharePoint, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" namespace="Microsoft.SharePoint.Utilities"%> 
<%@ Register TagPrefix="wssuc" TagName="ToolBar" src="~/_controltemplates/ToolBar.ascx" %> 
<%@ Register TagPrefix="wssuc" TagName="ToolBarButton" src="~/_controltemplates/ToolBarButton.ascx" %> 
<SharePoint:RenderingTemplate ID="CustomListForm" runat="server"> 
    <Template> 
      Test content 
    </Template> 
</SharePoint:RenderingTemplate> 

注:ここでは

はCustomTemplate.ascxファイルからコードです。私のファイルは同じディレクトリにあります。

ありがとうございました!

関連する問題