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-mvc-3 – Razor reseverd words
- 如何使用ASP.NET标识使声明无效?
- asp.net – 在asp:超链接中分配声明值的问题 错误:这不是
- asp.net – 无法返回JsonResult
- ASP.NET:压缩ViewState
- asp.net-mvc-3 – mvc3 OutputCache RemoveOutputCacheItem
- asp.net-mvc – 为什么被赋予NoValidate属性?
- 请求的ASP.NET窗体身份验证失败 原因:提供的票已过期
- asp.net-mvc-3 – 如何初始化授权信息
- 你能在每个动作上在ASP.NET-MVC中应用ActionFilter吗?
- asp.net-core – “netcoreapp1.0”是一个不受支
- asp.net web表单json返回结果
- 如何使用ASP.NET MVC实现站点而不使用Visual Stu
- asp.net – FederatedAuthentication.WSFederati
- asp.net-mvc-3 – 剃刀中的部分的默认内容
- ASP.NET批量下载文件的方法
- ASP.NET MVC:什么时候设置Thread.CurrentThread
- asp.net – ‘Owin.IAppBuilder’不包含’MapSig
- asp.net – 使用NLog记录当前页面的URL
- 在经典ASP调试的Visual Studio 2012中禁用了应用
