在 asp.net mvc url 中格式化查询字符串的最佳方法?

2024-04-26

我注意到,如果您通过 asp.net mvc 发送查询字符串路由值,您最终会将所有空格编码为“%20”。因为我希望将空格转换为“+”号,所以覆盖此格式的最佳方法是什么?

我正在考虑也许使用自定义 Route 对象或派生自 IRouteHandler 的类,但希望您能提供任何建议。


您可以尝试编写自定义路由:

public class CustomRoute : Route
{
    public CustomRoute(string url, RouteValueDictionary defaults, IRouteHandler routeHandler) 
        : base(url, defaults, routeHandler)
    { }

    public override VirtualPathData GetVirtualPath(RequestContext requestContext, RouteValueDictionary values)
    {
        var path = base.GetVirtualPath(requestContext, values);
        if (path != null)
        {
            path.VirtualPath = path.VirtualPath.Replace("%20", "+");
        }
        return path;
    }
}

并像这样注册:

routes.Add(
    new CustomRoute(
        "{controller}/{action}/{id}",
        new RouteValueDictionary(new { 
            controller = "Home", 
            action = "Index", 
            id = UrlParameter.Optional 
        }),
        new MvcRouteHandler()
    )
);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 asp.net mvc url 中格式化查询字符串的最佳方法? 的相关文章

  • Razor 支持 lambda 表达式吗?

    Razor 视图引擎是否支持 lambda 表达式 匿名方法 我很难在 Razor 中表达以下内容 Model ToList ForEach i gt if i DealerName null
  • MVC模型未成功更新但找不到原因

    这让我抓狂 我不断收到以下异常 System InvalidOperationException Models Expense 类型的模型未成功更新 在System Web Mvc Controller UpdateModel TModel
  • Angular子路由和404

    查找不存在链接的路线不允许您浏览子链接 应用程序路由 module ts import NgModule from angular core import Routes RouterModule from angular router im
  • Ninject 2.2 多重绑定

    我最近将 ASP NET MVC 3 应用程序更新为 Ninject 2 2 以前 我的主应用程序中有以下接口来实现绑定 Bind typeof IMyInterface lt gt To typeof MyImplementation l
  • 如何使用 RedirectToAction 维护 ModelState?

    如果我的操作中有错误 如何返回不同操作的结果或将用户移至不同的操作ModelState不失去我的ModelState信息 场景是 Delete操作接受来自我的 DELETE 表单的 POSTIndex动作 视图 如果有错误Delete我想将
  • 实体框架的状态模式

    我有一个模型Enquiry 它可以处于两种状态之一 还有更多状态 但出于此目的 我将仅比较两种状态 New and Closed 查询所处的状态取决于用户能够对查询执行什么操作 例如 无法删除已关闭的查询 而可以删除新的查询等等 基本示例
  • RedirectToAction 导致 ASP.NET MVC 3 中“路由表中没有与提供的值匹配的路由”

    我有一个项目最近升级到 ASP NET MVC 3 在我的本地计算机上 一切正常 当我部署到服务器时 每当我使用RedirectToAction称呼 它抛出一个System InvalidOperationException与错误消息路由表
  • 自定义 ViewEngine ASP.NET MVC 3

    我正在为 ASP NET MVC 的自定义视图引擎寻找最简单的解决方案 这样我就可以超越路径来寻找视图 实际上 我正在尝试在我的解决方案中构建一个主题系统 我查看了网络 但发现了很难学习和实施的解决方案 Thanks 这就是我用的 它在主题
  • 无法处理 ajax 中的 302 重定向,为什么? [复制]

    这个问题在这里已经有答案了 我有一个使用表单身份验证用 asp net mvc 编写的后端服务器 当用户未通过身份验证时 服务器将自动发送 302 重定向到登录操作并返回登录页面 在客户端 我有一个项目列表 只有经过身份验证的用户才能访问此
  • 在 ASP.NET MVC 中向 Actions 发送多个参数

    我想向 ASP NET MVC 中的操作发送多个参数 我还希望 URL 看起来像这样 http example com products item 2 代替 http example com products item aspx id 2
  • 使用 jqGrid 的 ASP.NET MVC 路由

    我正在尝试创建一个指向 url 的链接 例如首页 详情 1在 jqGrid 列中 文档显示 showlink baseLinkUrl showAction show addParam key 2 注意 addParam 应该包含 例如 格式
  • 为什么实体框架会生成大参数?如何减少它们?

    在一个非常简单的数据库查询中 service GetAll
  • ASP.NET 捆绑和缩小 - 包括用于生产捆绑的已缩小文件和用于开发的未缩小文件

    我需要一些有关 ASP NET MVC 捆绑和缩小的专家建议 我的项目脚本文件中有未缩小的 js 和缩小的版本 min js 我已将它们包含在我的脚本包中 如下所示 bundles Add new ScriptBundle bundles
  • 使用 asp.net mvc 在 Dropbox 中下载文件

    我正在使用 ASP net MVC 4 和 Dropbox API 从我的 Dropbox 帐户下载文件 我已经在我的项目中成功安装了 api 我正在关注本教程 https www dropbox com developers docume
  • 如何在服务器中处理用于发布目的的日期

    我从 ASP NET MVC 获得了这个值 Date 1446393600000 它在 SQL 数据库中的值是 2015 11 02 这是一个date 仅限日期 并将其作为 javascript 对象进行操作 我使用moment js ht
  • asp.net mvc 3 中模糊的远程属性验证

    asp net mvc 3 中的内置远程属性会执行 onchange 验证 我希望它在模糊时验证 有没有办法自定义它 或者还有其他东西可以这样做 我确信这是一个非常普遍的需求 你可以设置默认值 http docs jquery com Pl
  • NamedScopes Ninject 绑定和异步(线程)

    我的项目由服务和存储库构成 所有存储库共享数据库上下文 在我的一个服务层中 我有一个使用存储库写入数据库的异步方法 Web 请求将完成并处理上下文 然后此方法才能使用它 我试着去理解命名范围 http www planetgeek ch 2
  • 从 MVC 控制器返回 JSON 字符串

    我使用以下代码将对象发送 接收到我的 mvc 控制器 ajax url createOrUpdateTimeRecord data JSON stringify data type POST dataType json contentTyp
  • ASP MVC.NET3 本地 IIS7 对象引用错误

    在开发 mvc Web 应用程序期间 我遇到了运行站点本地实例的问题 当我尝试重新加载页面时 在首次加载成功后 我看到以下错误 如果我通过 VS 虚拟服务器运行该站点 则不会出现任何问题 我的应用程序池正在集成模式下运行 并且正在运行 ne
  • 如何在 MVC 5 中设置自定义 ClaimsPrincipal?

    我创建了一个自定义主体类 public class FacebookPrincipal ClaimsPrincipal public JObject Data get set 我想用它 当用户登录时 我尝试设置 var fbP new Fa

随机推荐

  • Wordpress 和 Drupal SSO/单点登录

    我已经在 Wordpress 中制作了我的前端网站 这对我来说很好 我想在 Drupal 中创建会员 员工区域 因为它具有更多 Google 文档和 Mediawiki 功能 我想知道我是否可以在两个站点之间共享登录信息 因此如果我在 Wo
  • 如何获取方法内部传递的参数的 nameof() ?

    我正在为我的项目寻找解决方案 我有一个Dictionary
  • C# Winforms 不规则的 Windows [重复]

    这个问题在这里已经有答案了 如何使用 WinForms 和 C 创建不规则形状的窗口 有几种不同的方法可以实现这一目标 一是用用TransparencyKey 正如尼夫勒在帖子中指出的那样 另一种是分配一个Region http msdn
  • 将 SQLite 与 Blazor WASM 结合使用有什么好处?

    我正在看这个Steve Sanderson 的视频演示了如何将 SQLite 与 Blazor Web Assembly 结合使用 https www youtube com watch v kesUNeBZ1Os我正在考虑在我的一个项目中
  • Javascript作用域变量可以切换大小写吗?

    在 C 中 您可以将变量的范围限定为 switch case 例如this https stackoverflow com a 2101514 773263 使用 javascript 我使用以下命令获得意外的令牌 const i 1 sw
  • Ruby 使用 JSON 序列化结构

    我正在尝试将一个简单的结构序列化为 JSON 它工作正常 但我无法让它从 JSON 创建该结构的实例 我正在尝试这样做 require rubygems require json Person Struct new name age jso
  • python print() 函数实际上是做什么的?

    我正在看这个question https stackoverflow com questions 1979171 how can i escape xff xfe to a readable string并开始想知道什么是print实际上确
  • java中.this和.class的含义

    假设我们有一个类名称 Home 有什么区别主页 this and 家庭班 它们指的是什么 主页 this Home this指的是当前实例Home class 该表达式的正式术语似乎是合格了这个 http java sun com docs
  • 如果ViewData有ViewBag,为什么TempData没有TempBag?

    为什么 TempData 没有像 ViewData 那样的动态字典对象 之所以没有 是因为没有人费心去实施它 但这是很容易做到的 例如 作为扩展方法 不幸的是 NET 尚不支持扩展属性 因此您无法完全获得您可能希望的语法 public cl
  • 重新格式化双向条形图以匹配示例

    我生成了这个条形图 使用此代码 s level margins fluid margins vp Volume 0 0 1L 0 718 0 690 2L 0 501 0 808 5L 0 181 0 920 MAP 0 0 64 0 43
  • C 中每个块复制一个文件块

    我试图将文件分成 x 个大小为 y 以字节为单位 的块 以便我可以单独复制每个块 我怎样才能做到这一点 尝试使用fread http www manpagez com man 3 fread char buffer ysize fread
  • 使用数据表中的“selectAll”按钮搜索后选择所有可见行

    我已经初始化了一个具有 id 的数据表example像这样 var table example DataTable aaSorting 4 asc select true dom Bfrtip buttons excelHtml5 exte
  • 当更新可用时,手动安装的 apk(不是从 Play 商店)会收到通知吗?

    我想在平板电脑上安装 apk 知道怎么做 我的平板电脑会收到来自 Play 商店的通知吗 该更新已在 Play 商店中准备就绪 我应该安装它吗 仅当满足以下两个条件时 您才会收到更新 在 Google Play 已安装的应用程序 选项卡中看
  • Flash 影片的 Div Z-Index 问题

    我有两个简单的 HTML div 一个包含 flash 电影 另一个 div 包含简单文本 现在我的问题是我必须将文本 div 放到 flash 电影 div 上 我正在做的是将两个 div 的位置设置为 CSS 中的 Absolute 并
  • 如何为 SonarQube 扫描配置 Jenkins 管道

    我正在尝试为我的项目配置詹金斯管道 但这里缺少一些东西 如果有人可以指出我做错了什么 下面是管道脚本 node stage SonarQube analysis requires SonarQube Scanner 2 8 def scan
  • 协议缓冲区和 UTF-8

    编码方案 多操作系统和 Endian nes 的历史导致了对所有形式的字符串数据 即所有字母表 进行编码方面的混乱 因此 协议缓冲区仅处理其字符串类型中的 ASCII 或 UTF 8 并且我看不到任何接受 C wstring 的多态重载 那
  • 出现错误:User 类型的对象在 django python 中不可 JSON 序列化

    我是 django python 的新手 当我尝试从 3 个表获取数据时 出现错误Object of type User is not JSON serializable 任何人都可以帮我解释为什么我会收到此错误吗 在这里我添加了我的vie
  • 关于指针的c/c++问题(双指针)

    自从我学习 c 和 c 课程以来已经有一段时间了 我对 c 指针很好奇 我将在我的示例中使用 new 关键字 即使我知道 malloc 是 C 方式 我总是记得我的老师总是强迫我们使用指针 她永远不会接受数组的作业 她向我们证明 当您使用指
  • 使用页内 JSON 初始化 AngularJS $resource

    我正在使用 AngularJS 的 resource 来获取和更新对象 为了节省页面加载时的往返 我将 JSON 对象放在页面上的变量中 如何使用此数据初始化 resource 而不是调用 get 您可以使用new创建使用以下命令创建的资源
  • 在 asp.net mvc url 中格式化查询字符串的最佳方法?

    我注意到 如果您通过 asp net mvc 发送查询字符串路由值 您最终会将所有空格编码为 20 因为我希望将空格转换为 号 所以覆盖此格式的最佳方法是什么 我正在考虑也许使用自定义 Route 对象或派生自 IRouteHandler