0

に次の行がありますGlobal.asax.cs

routes.MapPageRoute( "Resorts", "{resortname}", "~/Pages/ViewResort.aspx" );

意図は、次のようなリクエストを許可することです。

www.mysite.com/some-resort-name

このリソースをロードする (多かれ少なかれ)

www.mysite.com/Pages/ViewResort.aspx?resortname=some-resort-name

この動作は正常に機能します。ただし、リソースが要求されるたびViewResort.aspxにロードされていることに気付きました。おそらく、この代替手段のように、ルートにリテラル パス セグメントが含まれていないためです。

routes.MapPageRoute( "Resorts", "Resort/{resortname}", "~/Pages/ViewResort.aspx" );

私のクライアントは、URL のホスト名の後にあるのはリゾート名だけであると主張しているため、代替ルートを使用することはできません。

RouteUrlだから私の質問は:サイトのルート ディレクトリを参照するときに何か特別なことをする必要がありますか? ViewResort.aspxそれができない場合、ターゲット ページ (この場合) に実装できる特定のパターンはありますか?

4

1 に答える 1

1

あなたのルートはキャッチオールとして機能しています。このような状況では、キャッチオール ルートのに特定のルートを指定して、特定のルートに適切な応答を返す必要があります。つまり、キャッチオールに到達する唯一のルートは、Pages/ViewResort.aspx にリダイレクトする必要があるルートです。

于 2012-11-10T04:15:58.087 に答える