咱们在ASP.net中使用URL导向后, 咱们在访问某个地址,或者打开某个系统页面的时候,就会报错误: web
A potentially dangerous Request.Path value was detected from the clientui
at System.Web.HttpRequest.ValidateInputIfRequiredByConfig() spa
at System.Web.HttpApplication.ValidateRequestExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() .net
at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)xml
这是由于上述地址中有*这个特殊字符存在。blog
若是你想不让ASP.net 替你拦截这些特殊字符,你须要设置以下Web.config的节:get
<?xml version="1.0"?>
<configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0">
<system.web>
<httpRuntime requestPathInvalidCharacters="" />
</system.web>
</configuration>
注意其中的requestPathInvalidCharacters 它是一个以逗号分隔的无效字符列表。不设置它时,它默认的无效字符集(以,分割)是后面7个:<,>,*,%,&,:,/io
即,不设置这个属性,默认就是以下设置:cli
<?xml version="1.0"?>
<configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0">
<system.web>
<httpRuntime requestPathInvalidCharacters="<,>,*,%,:,&,/" />
</system.web>
</configuration>
若是你想这些字符所有不受限制,就应该设置 requestPathInvalidCharacters="" , 若是是部分字符受限制,部分字符不受限制,就须要在 requestPathInvalidCharacters 中设置须要受限制的字符,不受限制的不用设置。date
转载:http://blog.csdn.net/ghj1976/archive/2010/06/29/5701277.aspx