我对ASP.Net MVC和自定义路由仍然有点新,除了发布我正在使用的URL链接和路由并征求建议之外,我不太确定如何提出这个问题。
问题是:
从中检测到潜在危险的Request.Path值 客户(&)。
这是由“&”引起的我链接中的符号:
http://localhost/search/cars-&-motorcycles
而且,这是我的路线:
routes.MapRoute(
"CategorySearch",
"category/{searchcriteria}",
new { controller = "Listing", action = "Index", isCategory = true, searchcriteria = UrlParameter.Optional }
);
我想做的是删除“&”在它通过之前从可选的参数,希望这将纠正我正在经历的“潜在危险”问题。我试过用
UrlParameter.Optional.ToString().Replace("&", "")
甚至可以删除“&”从Route.MapRoute方法里面的某个地方开始的符号?
答案 0 :(得分:1)
您可以使用HtmlHelper.Encode对其进行编码:
string encodedUrl = HtmlHelper.Encode("http://localhost/search/cars-&-motorcyles");