1

新しい ASP.NET ルーティングは、単純なパス スタイルの URL には最適ですが、次のような URL を使用する場合:

http://example.com/items/search.xhtml?term=Text+to+find&page=2

検証ですべてのパラメーターをキャッチする必要がありますか?

4

4 に答える 4

3

クエリ文字列パラメーターをルートと一致させることもできます。必要なすべてをキャプチャしたい場合は、次のようにパラメーターを追加する必要があります。

{*contentUrl}

これにより、残りの URL がその変数に入力されます。

于 2008-10-15T17:20:48.647 に答える
2

ルートにリストされていないビュー データ アイテムはクエリ文字列に自動的にマップされるため、"items/search.xhtml" をアクションにマップすると、次のようになります。

Search(string term, int page)

次に、探している結果が得られるはずです。

于 2008-10-16T08:11:27.333 に答える
0

また、エンコードされたURLをルートパラメータとしてルートに渡すのに問題がありました。

URLでURLエンコードされた文字を使用することはできませんが、クエリ文字列で使用することはできます。

したがって、ルートにクエリ文字列要素も含める必要がありました。

ルートがあるとしましょう:

MapPageRoute("myroute", "myroute/{x}", "~/routehander.aspx")

しかし、私はそれを次の形で望んでいます:

http://mywebsite.com/myroute/{x}?url=myurl

できるよ:

Dim x as integer = 12
Dim rvd As New Routing.RouteValueDictionary
rvd.Add("x", x)
rvd.Add("url", Server.UrlEncode("/default.aspx"))
HttpContext.Current.ApplicationInstance.Response.RedirectToRoutePermanent("myroute", rvd)

これにより、次のURLにリダイレクトされます。

http://mywebsite.com/myroute/12?url=%252fdefault.aspx
于 2011-10-11T11:49:16.953 に答える
0

あなたはまだ使用することができますRequest.QueryString["some_value"];

于 2012-03-12T19:40:11.783 に答える