2011-07-10 14 views
2

asp.net 4.0でURLルーティングを使用しているときに、URLの特殊文字を処理するにはどうすればよいですか?以下のようなasp.net 4.0 WebフォームのURLルーティングの特殊文字ですか?

特殊文字(&、。)

悪いリクエストやURLでの危険な文字などのエラーを示しています。

処理方法は?

は私がGlobal.asaxの中でURLルーティングがあるとし

protected void Application_Start(object sender, EventArgs e) 
    { 
     CustomRouteTable(RouteTable.Routes); 
    } 
void CustomRouteTable(RouteCollection routes) 
    { 
     routes.MapPageRoute("Product", "Product/{pId}/{ProductName}", "~/Product/ProductDetail.aspx"); 

    } 

ファイル仮定する商品名は、電話&コードレスまたは電話で:コードレス その後、私はエラーを取得します。

処理方法は?

答えて

1

実際には、クエリ文字列パラメータを処理しないURLにアンパサンドを使用しないでください。 URLの商品名に「-and-」を使用することを検討してください。

0

URLはURLエンコーディングと呼ばれ、(JavaScriptなど)のほぼすべてのWebプログラミング言語はURLから内外に文字列をエンコードし、デコードするための方法を持っていエンコーディングの特別な種類は、文字列をエンコードしています。 @rkaregaranは言ったように、URLに-(ダッシュ)または_(アンダースコア)を使用することを強く推奨します。

とにかく、あなたの説明にあるように、私はphone:cordlessの代わりに/phone/cordlessを使うべきだと思います。ここではphoneはタクソノミーの一種だと思われます。

+0

私は/ phone/Cordlessのクエリ文字列をパラパラにすることはできません。もし私がコードレス(p)のようなパラメータでエンディングしたら? Product/1/Cordless(p)を入力してください。 –

+0

私は1つのURL http://www.dominicpettifer.co.uk/Blog/34/asp-net-mvc-and-clean-seo-friendly-urlsを創設しました。説明された方法を使用するのは問題ありませんか? –

関連する問題