Asp.net mvc3 UserControlパスエラー:先頭の..を使用してトップディレクトリの上に出ることはできません

I have a solution that contains 2 projects. In the first I realized the User Controls and I want to use them in the second project. I publish the first project in DomaineName and the second project in DomaineName/Directory

It's an ASP.net MVC3 solution, So I programmed a helper to add controls like this link http://malvinly.com/2011/02/28/using-web-forms-user-controls-in-an-asp-net-mvc-project/

 public static HtmlString RenderControl(this HtmlHelper helper, string path, Action action) where T:UserControl
 {
        Page page= new Page();

        T control = (T)page.LoadControl(path);
        page.Controls.Add(control);

        if (action != null)
        { action(control); }

        using( StringWriter sw= new StringWriter())
        {
            HttpContext.Current.Server.Execute(page,sw,false);
            return new HtmlString(sw.ToString());
        }
}

2番目のプロジェクトのマスターページでは、ヘルパーを使用します。

Html.RenderControl("../../Controls/widgetRecentComment.ascx")

しかし、このエラーが表示されます:

先頭の..を使用してトップディレクトリの上に出ることはできません

And I can't use the ~ because my user controls are in DomaineName and not DomaineName/Directory

私を助けてくれますか?

1
単純にあなたのプロジェクトを構造化して〜/コントロールを使うことができれば、あなたの人生はずっと楽になり、セキュリティ機能(親パス)をバイパスしようとするのを防ぐことができます。
追加された 著者 Adam Tuliper - MSFT,

1 答え

これはIISの設定で、ファイル名に .. を使用してアプリケーションルート外のファイルにアクセスすることはできません。

サーバー上のIISを制御できる場合は、この設定を変更できます。そうしないと、別のアプリケーションのコントロールを使用できなくなります。

0
追加された
@soumayssa:少し見えましたが、見つけられません... ASPページの設定が存在し、「親パスを有効にする」と呼ばれていますが、ASP.NETに対応する設定が見つかりませんでした。参照: advancedinstaller.com/user-guide/iis-aspnet.html
追加された 著者 Guffa,
私はIISで変化する盗品を知らなかった。あなたは私に電話できますか?どうすれば変更できますか?魔女は正確に設定しますか?
追加された 著者 soumayssa,