asp.net-mvc-2 – Plus()在MVC中的参数引起404在IIS 7.0
我有一个MVC路由,给我在运行IIS的临时服务器地狱。我在本地运行Visual Studio 2010的开发服务器。
这里是一个示例网址,实际上在我的开发盒上工作: Root/CPUBoards/Full+Size Results Server Error404 - File or directory not found. The resource you are looking for might have been removed,had its name changed,or is temporarily unavailable. 这是我看到的完整的行为。 本地主机: Root/CPUBoards/Full Size - Resolves Root/CPUBoards/Full%20Size - Resolves Root/CPUBoards/Full+Size - Resolves 使用IIS 7.0的分段服务器: Root/CPUBoards/Full Size - Resolves Root/CPUBoards/Full%20Size - Resolves Root/CPUBoards/Full+Size - 404 Not Found Error. 有任何想法吗?我需要使用编码版本有几个原因…不会浪费你的时间与他们。 HttpUtility.UrlEncode(“Full Size”)返回带有plus sing … Full Size的版本。这在我的dev盒子上,但不在临时服务器上。我宁愿只是让它在服务器上工作,因为我已经有一切测试和本地工作,但我不知道从哪里开始查找服务器配置,让它的行为方式相同。 谢谢! 解决方法
只有在application / x-www-form-urlencoded数据(例如URL的查询字符串部分)中作为空格的特殊含义。
在URL的其他部分,如路径组件,字面意思是加号。所以将Full Size解析为未编码的名称Full Size不应在任何地方工作。 路径组件中空间的唯一正确形式是。 (当你输入一个实际的空间时,仍然可以工作,因为浏览器发现错误并为你修正错误。)也可以在form-URL编码的数据中使用,所以通常最安全的是使用它。 可悲的是HttpUtility.UrlEncode是误导性的。它在其输出而不是生成,所以它真的是一个形式URL编码器,而不是一个标准的URL编码器。不幸的是,我不知道一个ASP.NET函数“真正的URL编码”字符串在路径中使用,所以我可以推荐在编码后做一个字符串替换。 或者,避免在路径部分中使用空格,例如。通过用 – 替换它们。将“插入”标题插入到URL中是很常见的,将它们缩减为简单的字母数字和“安全”标点符号,以避免使用丑陋的%nn序列填充URL。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net – WinForms和Asp的类库中的异常处理
- asp.net-mvc – 将ASP.NET MVC路由迁移到ASP.NET vNext
- asp.net – 以编程方式刷新/更新HttpContext.User
- asp.net-mvc-3 – ASP.NET MVC – 在不重写方法的情况下扩展
- asp.net-mvc-4 – 使用razor创建数字向上或值控制
- asp.net-mvc – MVC 4是否有内置的站点地图解决方案?
- 给 asp.net core 写个中间件来记录接口耗时
- 你可以在ASP.NET MVC的页面上有两个表单吗?
- asp.net-mvc – 城堡PerRequestLifestyle无法识别
- asp.net-mvc – ASP.Net Core中的动态路由
- asp.net-mvc-3 – 在区域注册中注册路由
- asp.net-mvc-3 – 基于字符串创建ViewBag属性
- C# 中的委托和事件 [转载]
- asp.net – 在VB.Net Web应用程序中使用SubSonic
- MVC3&Razor – 将DateTime字符串从“mm / dd
- 标签 – 如何使用像asp这样的Razor:Literal?
- asp.net-mvc-4 – 当模型中存在一对多关系时,MVC
- asp.net-mvc – MVC“添加控制器”是“无法检索元
- asp.net-mvc – kendo UI Grid MVC初始页面
- asp.net-mvc – 如何构建一个简单的ASP.NET MVC应