问题标签 [custom-routes]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
519 浏览

asp.net - 将经典 ASP 升级到 MVC 4.0

我正在从经典 ASP 升级到 MVC 4.0。MVC 项目具有独特的文件夹结构,包括模块、视图和控制器。我们的经典 ASP 网站在搜索引擎中有很好的索引,并使用所有友好的 URL(一些映射到现有文件夹并删除页面扩展名,还有一些映射到 SEO 而不是包含文件的文件夹),使用 web.config 中的重写规则. 我需要维护所有当前的 URL,但它们都映射到与 MVC 项目不同的文件夹中。我希望 MVC 项目保留在默认项目中定义的文件夹结构中,但还需要继续使用现有的 URL。

迁移到 MVC 时,维护站点当前 URL 的最佳方法是什么?自定义路由是处理此问题的唯一/最佳方法吗?

0 投票
2 回答
2172 浏览

php - Codeigniter 到单个控制器的动态路由

我知道这个问题已经以类似的方式被问过好几次了。但是,我正在努力寻找适合我的情况的任何答案。我主要从事微软项目,并在关键时刻介入了这个项目以提供帮助。

这是情况。

我们有一个客户,他的网站包含 600 多个不同的页面。实际上,每个页面都使用相同的模板,只是填充了不同的数据。我们为他开发了一个 CMS,让他可以随意创建新页面。

我理想的解决方案将允许我将新创建的页面的名称存储在数据库中。前任。new_page_1 已创建并且现在存在于数据库中。现在,当我输入 www.mysite.com/new_page_1 时,这需要转到一个查找“new_page_1”(在 DB 中)的控制器,如果它存在,则加载一个视图(该视图需要用于所有 600 个页面)然后从数据库中获取其他数据并填充各个部分。

所以本质上,超过 600 多个页面需要使用相同的路由数组并映射到同一个控制器,然后再映射到同一个视图。

我尝试使用 $route['(:any)'] = 'custom_controler/create/$1 以及相同的数组键,但使用 main 和 _remap。无论每次它试图在我的视图中查找页面名称(它永远不会存在,因为我使用一个通用视图来处理 600 页)

关于如何做到这一点的任何想法?

更新 routes.php (这是文件中的最后一行)

main.php(控制器)

}

我正在尝试的 URL 是 sitename.servername.com/health 站点名和服务器名显然被替换了。

我得到的错误是

遇到错误

无法加载请求的文件:health/main/create.php

0 投票
2 回答
351 浏览

ruby-on-rails - 如何扩展 url_for 以提供动态默认参数

我试图找出一种干净干爽的方法来扩展 url_for ,以便它提供一个基于动态的默认参数。我知道这听起来很奇怪,让我解释一下:

我有一组位于动态范围下的嵌套资源路由:

这给出了如下路线:

为了在视图中生成这些路线,我可以很容易地做到:

但是,这对我来说似乎不是很干燥,因为每个用户的网络都是固定的。我宁愿能够简洁地说:

0 投票
4 回答
216 浏览

regex - 正则表达式匹配 1+ chrs,但不是 500 chrs

我正在寻找一个单一的正则表达式,它将匹配长度为 1 个或多个匹配的字符500。这将在 Rails 路由文件中使用,特别是用于处理异常。

路线.rb

我对如何定义匹配某些东西但同时不匹配其他东西的正则表达式有点迷茫。

0 投票
2 回答
149 浏览

ruby-on-rails - Rails:具有自定义行为的浅路径名称

假设我有两个模型(Model1 和 Model2)共享同一个控制器,它们都有很多 Model3 实例。

如何实现在两个模型中嵌套 Model 3 并拥有路径:model_3_path(@model)而不是model_1_model_3_path(@model)model_2_model_3_path(@model)

我希望我的model_3_path(@model)函数看起来像这样:

我目前的进展:

我似乎找不到正确的方法...

0 投票
1 回答
226 浏览

c#-4.0 - 如何为不同语言 MVC4 C# 编写友好的 url

我需要你的帮助来了解我怎样才能有一个法语 URL 和一个英语 URL 重定向到 MVC4 中的同一个控制器?

换句话说,我有一个控制器专业,它有一个控制器MoreOption

所以我们可以通过 http://{domainname}/Speciality/MoreOption 访问这个控制器。现在我需要用法语访问这个控制器 http://{domainname}/nos-specialites/options-supplementaires。我不需要编写其他控制器类,因为它与我用来显示该页面的代码相同。

0 投票
1 回答
140 浏览

ruby-on-rails - 在 RoR 中将路由从 GET 更改为 Delete

logout GET /logout(.:format) devise/sessions#destroy

这是我感兴趣的路线。

但是,当我转到 /logout 时,我收到此错误:

No route matches [DELETE] "/logout",如何将这条路线从 更改getdelete

这就是我的路线当前设置的方式:

get 'logout', to: 'devise/sessions#destroy', as: :logout

和我的链接:

<%= link_to "Sign Out", logout_path, method: :delete %>

0 投票
1 回答
21 浏览

c#-4.0 - 无法确定两种相同方法之间的哪条路线,一种没有参数,一种有

在我的控制器中,我有两种这样的方法:

因此,当我只想显示与该方法关联的 view() 时,我调用第一个。在 view() 中,我有一个表单,当提交时,将对象DemandeAssistance发送到第二种方法。在路线配置中,我这样做了:

但是当我只想显示视图说这两条路线之间存在误解时,它会向我显示一个错误。我做错了什么 ?

0 投票
1 回答
1703 浏览

forms - MVC.NET 自定义根处理程序 Html:BeginForm 中的错误操作

我使用了自定义 mvc 路由处理程序。但是当我在视图中使用 Html.BeginForm 或 Ajax.BeginForm 时,Action 参数会意外更改。我的代码在上面

我的注册路线方法是:

我的 MvcRouteHandler 是:

我的观点是:

最后浏览器中的错误操作如下所示:

form action="/man-parfume" data-ajax="true" data-ajax-method="Post" id="form0" method="post"> form action="/man-parfume" method="post" > 输入类型="提交" 值="发送" />

我以开始形式将控制器编写为主页,但在呈现 Html.BeginForm 时它发生了变化。

如何将表格发布到主页/索引?

0 投票
1 回答
1026 浏览

c# - 未知数量参数的 URL 路由

我看过这篇文章:MVC Handler for an unknown number of optional parameters但它适用于 MVC 并且似乎对我不起作用,因为我收到错误:

我希望能够在 Url 中有不确定数量的参数,我有以下路线:

这似乎也触发了上面的错误消息。

如何设置路由以在 Web 表单(不是 MVC)中具有未知数量的参数。

我正在尝试实现以下网址:

编辑

当我使用以下内容时,它似乎有效:

问题在于它最后不允许.html