0

UserControlSharePointアプリケーションにカスタムWebを追加しようとしています。UserControlSharePoint WebPartに自分を追加しましたが、そのWebパーツを自分のページに読み込もうとしています。

しかし、Webパーツを追加すると、次の例外が発生します。

The file /usercontrols/Test3Report.ascx does not exist.

しかし、私はファイルとフォルダーの両方が存在することを100%確信しています。ユーザーコントロールへのpathアクセスも私には問題ないようです。これは私が私のコントロールをロードしようとする方法です:

protected string UserControlPath = @"~/usercontrols/";
protected string UserControlName = @"Test3Report.ascx";

private Test3Report mycontrol;

protected override void CreateChildControls()
{
    try
    {
        mycontrol = (Test3Report)this.Page.LoadControl(UserControlPath + UserControlName);
        Controls.Add(mycontrol);
    }
    catch (Exception CreateChildControls_Exception)
    {
        exceptions += "CreateChildControls_Exception: " + CreateChildControls_Exception.Message;
    }
    finally
    {
        base.CreateChildControls();
    }
}

これは私には正しいようです。が見つからないと文句を言っている理由がわかりませんTest3Report.ascx

TrustLevelがfullなどに設定されていないことについて何か読んだことがあります。それでいいの?または他のアイデアはありますか?

4

1 に答える 1

0

VS2010のソリューションエクスプローラーでソリューションを右クリックして新しいカスタムコントロールを追加してみてください->追加->新しいアイテム。右側のリストからsharepoint2010を選択した後、[ユーザーコントロール]を選択します。このようにして、コントロールは自動的に作成され、後で参照できるマップされた「〜/ _ControlTemplates / PROJECTNAME/UserControlNAME.ascx」フォルダーに後でデプロイされます。

また、ソリューションエクスプローラーの[Package]フォルダーにある[.package]ファイルを開き、[Items in Package]の下にユーザーコントロールが表示されていることを確認して、ユーザーコントロールがパッケージに含まれていることを確認します。

ヒント:ユースケースで可能であれば、CreateChildControls()でプログラムでカスタムコントロールを追加する代わりに、宛先ページをデザインモードにしてから、ソリューションエクスプローラーから.ascxファイルをドラッグアンドドロップしてカスタムコントロールを追加できます。ページ。

私はそれが役立つことを願っています:)

于 2013-01-28T13:04:25.123 に答える