2

使用できる現在のアクションを取得したいかどうかはわかります。

ControllerContext.RouteData.GetRequiredString("action")

しかし、私のルートが許可された場合はどうなりますかhttp://mydomain/this has spaces

This Has Spaces「 」ではなく「」を取得するにはどうすればよいThisHasSpacesですか?

これが私のルートテーブルの抜粋です

        routes.MapRoute(
            "ThisHasSpaces", // Route name
            "This Has Spaces", // URL with parameters
            new { controller = "Home", action = "ThisHasSpaces", id = UrlParameter.Optional } // Parameter defaults
        );
4

1 に答える 1

2

Request.Uriルートがそのように見える場合は、実際にURIをルートパラメータにマップしていないため、元の文字列(以外)を提供できるものは ありません。

ルートをハードコーディングするので、別の値を追加できます。

    routes.MapRoute(
        "ThisHasSpaces", // Route name
        "This Has Spaces", // URL with parameters
        new { controller = "Home", action = "ThisHasSpaces", orgstring = "This Has Spaces", id = UrlParameter.Optional } // Parameter defaults
    );

そしてそれをフェッチします:

ControllerContext.RouteData.Values["orgstring"]
于 2012-04-13T05:51:58.910 に答える