0

私は sharepoint2010 が初めてで、ASP Web 開発には慣れています。この Scott Guthrie の記事で説明されているように、外部プロジェクトから .ascx を参照しています: http://webproject.scottgu.com/CSharp/UserControls/UserControls.aspx

また、SharePoint の MVP に関するこの記事: http://www.henrycordes.nl/post/2009/04/29/Model-View-Presenter-design-pattern-in-Sharepoint.aspx

webControls (Ascx) ライブラリ プロジェクトへのプロジェクト参照を持つテスト Web アプリケーションがあり、ascx を Web アプリケーション プロジェクトのフォルダーにコピーするビルド前の行があります。次に、通常どおり aspx ページから ascx コントロールを参照します。

しかし、SharePoint で同じトリックを試してみると、次のエラーが発生します。

" パーサー エラーの説明: この要求を処理するために必要なリソースの解析中にエラーが発生しました。次の特定の解析エラーの詳細を確認し、ソース ファイルを適切に変更してください。

パーサー エラー メッセージ: 参照ファイル '/UserControls/Calculator.ascx' は、このページでは許可されていません。"

実際、存在しないディレクトリに変更すると同じエラーが発生するため、ascx へのパスはまったく解析されません。または、ascx を「14」ディレクトリにコピーした場合。

この ascx を SP2010 に展開するには、どのような手順を実行する必要がありますか?

spビジュアルWebパーツコードaspxページでascxを参照するために使用している行は次のとおりです。

<%@ Register tagPrefix="sjb" tagName="calc" src="~/UserControls/Calculator.ascx" %>
<sjb:calc ID="calc" runat="server" />
4

1 に答える 1

0

コントロールを _layouts/controltemplates ディレクトリにデプロイする必要があります。これにより、安全に農場に配備されます。

最善の方法は、視覚的な Web パーツを例としてプロジェクトに追加し、例の ascx ファイルを自分のものに置き換えることです。

次に、このようなマスターページ/ページで

<%@ Register TagPrefix="mfKA" TagName="KeepAliveControl" Src="~/_controltemplates/LoginKeepAlive/KeepAlive/KeepAliveUserControl.ascx"%>
于 2013-01-15T19:30:19.677 に答える