如何将包含冒号的 GET 请求发送到 ASP.NET MVC2 控制器?

2024-02-19

这工作正常:

GET /mvc/Movies/TitleIncludes/Lara%20Croft

当我提交包含冒号的请求时,如下所示:

GET /mvc/Movies/TitleIncludes/Lara%20Croft:%20Tomb

...它会生成 400 错误。错误说ASP.NET 检测到 URL 中存在无效字符。

如果我尝试 url 转义,请求将如下所示:

GET /mvc/Movies/TitleIncludes/Lara%20Croft%3A%20Tomb

...这也给了我一个 400 错误。

如果我用 | 替换冒号:

GET /mvc/Movies/TitleIncludes/Lara%20Croft|%20Tomb

..这也被视为非法而被拒绝,这次是 500 错误。消息:路径中存在非法字符。

URL 转义 |导致同样的错误。


我真的真的不想使用查询字符串参数。


related:
将 URL/路径发送到 ASP.NET MVC 控制器操作 https://stackoverflow.com/questions/1714980


我发现URL编码不起作用,但是自定义编码起作用。
我猜想 ASPNET MVC 使用文件系统来进行解析和路由,因为 URL 中的字符在文件系统中不合法,会导致 500 或 400 错误。

所以我所做的就是用 unicode 替换冒号 ¡ 在 javascript 端输入字符,然后在操作中执行相反的操作。像这样:

浏览器:

function myEscape(s){
    return s.replace(':', '%C2%A1').trim();
}

在操作中,在使用参数之前调用此转换:

private string MyCustomUnescape(string arg)
{
    return arg.Replace("¡", ":");
}

同样的方法适用于斜杠 - 只需选择一个不同的 unicode 字符即可。当然,如果您的字符串参数本身是 unicode,那么您必须使用不可打印的字符作为“编码”形式。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何将包含冒号的 GET 请求发送到 ASP.NET MVC2 控制器? 的相关文章

  • 如何将除 Web API 之外的所有内容路由到 /index.html

    我一直在研究一个AngularJS项目 在 ASP NET MVC 内部使用 Web API 除非您尝试直接访问有角度的路由 URL 或刷新页面 否则它效果很好 我认为这将是我可以处理的事情 而不是胡闹服务器配置MVC的路由引擎 当前的We
  • 果园:自定义注册字段

    对于我的 Orchard 项目 我需要用户在注册时提供一些附加信息 说 名字 姓氏 裤子颜色 此信息必须在注册时输入 并且不能推迟到以后 根据客户的订单 我尝试使用配置文件和扩展注册插件来请求这些 但据我所知 这只为我提供了在注册表中显示的
  • Web API 和 ASP MVC 之间的主要区别是什么

    标题确实总结了我的问题 我已经使用了这两种技术 但我不确定其中一种技术与另一种技术有何显着不同 在本质上 在设计一个宁静的 Web 应用程序时 选择 ASP MVC 或 Web API 时应考虑哪些标准和 或指南 Purpose ASP N
  • 如何在 ASP.NET MVC 中将 XML 文件发送到客户端

    在 ASP NET MVC 中 我有一个数据库表 我想在某个视图页面上有一个按钮 如果某个用户单击该按钮 我的应用程序将生成包含数据库中所有行的 XML 文件 然后 应将包含 XML 的文件发送到客户端 以便用户看到下载弹出窗口 同样 我希
  • ASP.NET MVC 动作过滤器

    有谁知道即使在 CATCH 块中 ActionFilterAttribute 类的 OnResultExecuted 方法是否也会执行 ie CookiesActions public ActionResult Login Usuarios
  • 将许多表转换为 Excel 列

    我创建了用于文章审阅的网络应用程序 我有一个名为 Article 的表 每个表Article有一些ArticleReview Article ArticleId ArticleTitle NumberOfComment NumberOfVi
  • 如何将jquery.post中的数据发送到使用ViewModel作为参数的mvc控制器?

    我正在使用 ASP NET MVC 编写应用程序 我有带有操作的控制器 它使用一些 ViewModel 作为参数 如何使用 jquery post 将表单数据发送到该 mvc 控制器 post Yourcontroller YourActi
  • 我无法在剃刀视图中设置断点

    我知道可以在 MVC Razor 视图中设置断点 但出了点问题 它不再工作了 我尝试重新启动 Visual Studio 2013 并更改调试的一些选项 你有什么建议吗 感谢弗拉基米尔 我能找到解决方案 我必须清理并重建整个解决方案 我之前
  • Asp.Net Mvc/ jQuery 中带进度条的文件上传?

    我正在寻找一个用于 Asp Net MVC 的带有进度条的文件上传的 jQuery 插件 我们在现有的 Asp Net WebForm 应用程序中使用 RadUpload 控件 它在不使用 Flash Silverlight 的情况下显示状
  • 如何持久化传递给局部视图的数据模型?

    为了说明我面临的问题 我整理了三个简单的数据模型 public class PersonalModel public string FirstName get set public string LastName get set publi
  • MVC 6通过Nuget添加后引用Jquery

    我创建了一个新的 MVC 6 项目 空模板 通过 NuGet 添加了 JQuery 那么如何在 Layout 文件中或您想要使用它的任何地方引用它 我没有包含 Jquery 的脚本文件夹 HERE
  • 依赖注入和 ModelStateWrapper

    在教程中使用服务层进行验证 http www asp net learn mvc tutorial 38 cs aspx产品服务的构造函数如下所示 ProductService IValidationDictionary validatio
  • Kendo Ui MVC EditorTemplateName 在 PopUp 编辑模式下不起作用

    我想在 Kendo Ui 网格中使用 EditorTemplateName 作为外键列 当网格编辑模式为内联时 一切正常并且我的模板已加载 但是当将模式更改为弹出时不加载模板 如何修复它 Html Kendo Grid
  • Asp.Net Mvc 复选框的默认值?

    model DefaultValue true public bool IsActive get set view Html CheckBoxFor model gt model IsActive html 输出 这是我的预期
  • 如何在 Asp.Net MVC 上实现客户端 Ajax 登录(Asp.Net Webforms 解决方案的链接位于此处)

    我正在尝试在 Asp Net MVC 上实现客户端 ajax 登录 我以前在 WebForms 上设置得很好 但现在我已经转向 MVC 这给我带来了一些麻烦 如果您想要有关 Asp Net Webforms 的客户端 Ajax 登录的教程
  • 绑定到列表的复杂模型

    我一直在尝试 MVCContrib 中的 NameValueDeserializer 它将采用 IList 作为控制器的参数 并将表单及其元素绑定到它 但我只是想知道 MVC Beta 是否有任何方法可以做到这一点 我知道您可以绑定强类型对
  • 在执行 ASP.NET 的 Visual Studio 2008 中未声明“__o”

    在执行 ASP NET MVC 时 我在 Visual Studio 2008 中经常遇到这个恼人的错误 bug 未声明 o 问题是什么 我该如何解决 只需将其添加到页面顶部即可 所以现在我的 ASP Net 内容占位符如下所示
  • 关于JSON和序列化的问题

    我的视图模型有一个强类型视图 其中包含一个对象 Person 和一个技能列表 人是很直率的 我像这样使用 Html Helpers Html TextBoxFor m gt m Person FirstName 我提交表格并得到我想要的 问
  • ASP.NET MVC 3,如何正确制作主题

    我正在寻找有关如何以最佳方式在 MVC 3 中实现 主题 的输入 我想需要一个自定义视图引擎来负责定位视图文件等 我还希望主题系统是可扩展的 这样 如果它只是其中一个视图 我想更改其他视图 但仍使用默认值 有点像 Orchard 项目吗 想
  • 使用restsharp序列化对象并将其传递给WebApi而不是序列化列表

    我有一个看起来像的视图模型 public class StoreItemViewModel public Guid ItemId get set public List

随机推荐

  • EF 4.1 Code First 的复合密钥

    我试图弄清楚如何使用 EF code First 4 1 RC 拥有复合密钥 目前 我正在使用 Key 数据注释 但我无法指定多个键 如何指定复合键 这是我的例子 public class ActivityType Key public i
  • java.util.Scanner 读取剩余内容

    Using a java util Scanner例如 它是否可以返回所有剩余内容 我的情况是 一旦我阅读了一个中的多个字段String 我只想得到剩下的东西并将其存储在其他地方 例如我的内容可能包括 1 2 Some Garbage wi
  • Intellij IDEA 正则表达式字符类不能在字符范围内使用

    IDEA 不允许出现此错误 并且我无法找到关闭此类错误的选项 有谁知道如何修复错误或关闭警告 javascript 工作正常 只有 IDEA 认为这是一个问题 您正在使用以下命令创建一个范围连字符 在你的角色课程中 您应该将其移至任一端 另
  • 无符号 32 位整数的水平最小值和 SSE 中的位置

    我正在寻找一种方法来查找无符号 32 位整数的最小值及其在 SSE 中的位置 类似于 mm minpos epu16 我知道我可以通过一系列 mm min epu32 和洗牌 移位找到最小值 但这并不能让我找到位置 有人有任何很酷的方法吗
  • 使 SKScene 的背景透明不起作用...这是一个错误吗?

    有没有一种方法可以使 SKScene 的背景透明 并通过透明度将该场景呈现在另一个场景上 这个想法是让所呈现的场景的背景像这样 self backgroundColor SKColor colorWithRed 0 0f green 0 0
  • 将 HTML 表格粘贴到 Excel 中,如何在单元格中保留换行符

    我有一个简单的html表格 例如 只有一个单元格 但是当我复制dom节点并将其粘贴到excel中时 它将被识别为两行 如何使Excel获取正确的粘贴数据 table tr td 1 br 2 td tr tr tr table 我尝试添加c
  • Angular2 ngFor 跳过第一个索引[重复]

    这个问题在这里已经有答案了 如何跳过数组中的第一个索引 li user name is user age years old li 你可以使用片管 https angular io docs ts latest api common ind
  • 从 TableView 中的可编辑列动态填充 ChoiceBox

    基本上问题标题说明了一切 我有一列字符串 称为type 在表格视图和相应的数字列 称为size 每行代表一个对象CargoItem 它有两个属性type and size 两列都是可编辑的 TableView 与相应的可观察列表相关联Car
  • CFNetwork SSLHandshake 失败 iOS 9

    有使用 iOS 9 beta 1 的人遇到过这个问题吗 我使用标准 NSURLConnection 连接到 Web 服务 一旦调用 Web 服务 我就会收到以下错误 目前该功能适用 于 iOS 8 3 可能的测试版错误吗 任何想法或想法都会
  • 如何在 SonataAdmin 中创建自定义 DataGrid 过滤器

    我有一个带有许多状态代码的实体交易 我希望用户能够在 SonataAdmin 中将这些状态代码视为字符串 用户还应该能够根据这些状态代码进行过滤 Entity Transaction const TRANSACTION STATUS WAI
  • 有什么方法可以在 Phoenix 中定义自定义路线吗?

    假设我想创建一个resources通过添加一些自定义操作 rails 中的类似物是 resources tasks do member do get implement end end 这不仅会返回 7 条标准路线 还会返回 1 条新路线
  • 为什么我的本地通知在 iOS 10 中没有在前台触发?

    我试图理解为什么本地通知没有显示在前台 我相信我添加了所有正确的代码来允许此功能 但当我的应用程序位于前台时没有显示横幅 这是我添加的内容AppDelegate swift import UserNotifications UIApplic
  • 适用于 Android 的类似 iPhone 的导航点

    我必须创建一个像 iPhone 画廊一样带有导航点的图片库 查看屏幕截图 我需要这样一个小部件 看一下白点 Android 中是否有包含导航点的小部件 如果没有 我怎样才能重现这种效果 经过漫长的日子我发现从 Github 源查看寻呼机导航
  • 如何仅使用标准库将 UTC 日期时间转换为本地日期时间?

    我有一条蟒蛇datetime使用创建的实例datetime utcnow 并保存在数据库中 为了显示 我想转换datetime从数据库检索实例到本地datetime使用默认的本地时区 即 就好像datetime是使用创建的datetime
  • 在 SQL Server 数据库中自动添加对象及其关系

    假设我想插入一个新的Experiment在我的 SQL Server 数据库中 使用实体框架 4 0 Experiment有 1 Tasks in it Both Experiment and Task从获得EntityObject 此外
  • Javascript 数据表中的自动换行列数据

    我有一个 JS 数据表 我们在其中输入客户信息 在某些情况下 一些客户参考是这样的 reference text 26reference 5Ftext 3D 2526reference 255Ftext 253Dtest 252520ips
  • AudioKit v4.2 上的 AKRhodesPiano 错误(粉碎)

    我在用着AudioKit 版本 4 2 https github com AudioKit AudioKit releases tag v4 2在我的手机 iPhone X 上安装我的应用程序后 我收到此错误 参见附图 使用 AKRhode
  • 如何获取 SQL 中具有 MAX 和 MIN 值的行的 ID

    我正在努力使我的网站使用的查询更加高效 由于对 SQL 有点模糊 我还没有真正学会如何使用嵌套查询 但我刚刚设法得到了一些非常接近我想要的东西 我销售吉他 我有一个大数据库 其中单独列出了具有不同饰面选项的所有产品 项目在 dB 中具有唯一
  • oracle多用户功能

    如何创建可供不同用户使用的功能 它必须像内置的 oracle 函数一样工作 可以从任何用户调用 我想这可以通过授予一些特权来实现 这应该为特定用户执行此操作 GRANT EXECUTE ON your function TO some us
  • 如何将包含冒号的 GET 请求发送到 ASP.NET MVC2 控制器?

    这工作正常 GET mvc Movies TitleIncludes Lara 20Croft 当我提交包含冒号的请求时 如下所示 GET mvc Movies TitleIncludes Lara 20Croft 20Tomb 它会生成