首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何让asp.net不自动对URL中的转义正斜杠进行转义?

如何让asp.net不自动对URL中的转义正斜杠进行转义?
EN

Stack Overflow用户
提问于 2011-03-17 10:46:56
回答 1查看 2.1K关注 0票数 7

使用像http://abc.com/myid/ab%2fcd这样的URL (其中%2f是转义斜杠),asp.net将不转义%2f,因此从我的应用程序的角度(以及从asp.net mvc的角度),该URL是:http://abc.com/myid/ab/cd

因为我的应用程序使用ASP.NETMVC,所以如果我想指定一个类似于“/ asp.net /{id}”的路由,这种行为很容易导致路由问题,因为ASP.NETMVC的取消转义将导致该路由不匹配。

根据这个问题的答案:URL-encoded slash in URL,并根据这个msdn页面:http://msdn.microsoft.com/en-us/library/ee656542.aspx解决方案(在.Net 4.0中)是在你的web.config中放入以下内容:

代码语言:javascript
复制
<uri>
    <schemeSettings>
        <add name="http" genericUriParserOptions="DontUnescapePathDotsAndSlashes"/>
    </schemeSettings>
</uri>   

但是我实际上不能让它工作- "%2f“仍然被自动取消转义为"/”。有没有人知道为什么配置设置对我不起作用,或者有任何其他建议?

EN

回答 1

Stack Overflow用户

发布于 2011-03-18 10:22:46

一个简单的解决方案是使用一个通用的令牌,例如{controller}/{action}/{*id}

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5334344

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档