パラメタとURLの間に%20という文字が表示されると、MVCルーティングは文字列を考慮しなくなります。%20の後にスラッシュとそれに続くデータが続くと、ASP.NET MVC 3のルーティングが失敗します。
どうして私のURLの "%20"文字の処理にアプローチできますか?
例URL
http://localhost:40494/ListContents/Delete/asdf%20/5430f394...
public ActionResult Delete(string DNSName, Guid id)
{...}
routes.MapRoute(
"Delete", // Route name
"ListContents/Delete/{DNSName}/{id}", // URL with parameters
new { controller = "ListContents", action = "Delete" } // Parameter defaults
);
しかし 次のURLの両方が細かい
http://localhost:40494/ListContents/Delete/asdf%20SOMETHING_HERE/5430f394...
http://localhost:40494/ListContents/Delete/%20asdf/5430f394-946c-4f82-ac13-9d5efafe9127
これは私が見ているのと同じものであるかどうかをデバッグして見なければなりません。私が持っているスペースは2番目のパラメータのバックスラッシュの前です。 – LamonteCristo
スラッシュの前に空白があるURLのどのセクションでも、私の答えは少し変わった。興味深い。 –
私はMVCの物理パス、データベースの変数だけを扱っているわけではないので、これは有効か有用なチェックですか?おそらくXSSチェックがここでより効果的かもしれません。 – LamonteCristo