1

ASP.Net 4.0 Web フォーム アプリを使用しています。

このルーティングは既に Global.asax に配置されており、機能しています。

RouteTable.Routes.MapPageRoute("status", "members/{userid}/{status}", "~/members/status.aspx");

「ステータス」パラメーターを使用すると、ページのアクティブなタブをステータス、ブログ、写真、または概要に設定できます (デフォルトはステータスです)。

だから私が投稿するとき: /members/status.aspx?userId=first.last

ページが読み込まれると /members/first.last/status が表示されます。

私がする必要があるのは、ブログ ID を使用してユーザーをブログ タブに移動させるリンクをレンダリングして、複数のブログが表示されているブログ タブに移動し、ID で特定のブログにスクロールできるようにすることです。MVC で行う方法と同様の href を設定しようとしています: /members/first.last/blog/1000 (1000 はブログ ID) - 私の他の試みは /members/first.last/blog/?id です=1000 ですが、Page_Load のクエリ文字列キーに Id が表示されません。

このルーティングを無駄に追加しようとしました:

RouteTable.Routes.MapPageRoute("status",
    "members/{userid}/{status}/{*queryvalues}", "~/members/status.aspx",
    false,
    new RouteValueDictionary { { "id", @"\d{4}" } });

ご協力ありがとうございます。

4

2 に答える 2

2

アイテムコレクションを見たほうがいいと思います。

    this.Context.Items["userid"]

または 4.0 の RoutData コレクション

    Page.RouteData.Values["userid"]

詳細については、このリンクを参照してください。方法: ルーティングされたページで URL パラメーターにアクセスする

于 2013-02-12T20:59:16.297 に答える
1

以下のように使用します。

routes.MapPageRoute(
       "ProductsBrowse",
        "browse/{BrowseBy}/{Category}/{*queryvalues}",
        "~/Pages/Products/Browse.aspx"
    );

Thx: asp.net webforms ルーティング: オプションのパラメーター

于 2016-02-03T10:38:13.393 に答える