0

ここに ASPX WebForms ページがあります。

~/ASPWebforms/MyFolder/Default.aspx

このコードを使用する場合:

    public static void RegisterRoutes(RouteCollection routes)
    {
        routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
        routes.MapPageRoute(
                    "SomeRoute",
                    "Test/{reportname}",
                    "~/ASPWebforms/MyFolder/{reportname}.aspx"
       );

次に、ブラウザに次のように入力します。

ローカルホスト/マイサイト/テスト/デフォルト

望ましい結果が得られます: ページ ~/ASPWebforms/MyFolder/Default.aspx が表示されます。

しかし、次のコードを使用すると

routes.MapPageRoute(
                    "SomeRoute",
                    "Test/",
                    "~/ASPWebforms/MyFolder/Default.aspx"
       );

そして試してみてください

ローカルホスト/マイサイト/テスト

IIS 7.5 は次のように述べています。

HTTP エラー 403.14 - 許可されていません Web サーバーは、このディレクトリの内容を一覧表示しないように構成されています。

コードの最後の部分で何か間違ったことをしていますか?

事前にt​​hx!

4

3 に答える 3

0

IIS 7.5 に .NET 4 x86 & x64 を再インストールし、Web サイトの .net バージョンをセットアップします。デフォルトのx86で簡単なコマンドを書きます。

IIS の停止: 1)iisreset /stop

Stup コマンド (デフォルトで .net stup の iis 用): 2) cd %windir%\Microsoft.NET\Framework\v4.0.30319 3)aspnet_regiis.exe -i

リセット コマンド (デフォルトの .net 変更による .net 4 バージョンによる iis の場合): 4)aspnet_regiis.exe -iru

IIS の起動: 5)iisreset /start

于 2012-04-23T11:29:07.670 に答える
0

次のようにデフォルト値を設定するオーバーロードの 1 つを使用してルートを設定してみてください。

            routes.MapPageRoute(
                    "SomeRoute",
                    "Test/{reportname}",
                    "~/ASPWebforms/MyFolder/{reportname}.aspx",
                    false,
                    new RouteValueDictionary(new {reportname = "Default"})
            );

問題を解決できるとはあまり確信していませんが、元の例でうまく機能する可能性があります。

于 2012-04-23T16:17:23.323 に答える