问题标签 [mvcroutehandler]

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 投票
2 回答
3927 浏览

asp.net-mvc - .net mvc 路由默认控制器/动作,但不是默认参数

我创建了这条路线

当我然后浏览到

它可以工作,但是如果我浏览到

这没用。

如果我像这样改变路线

正好相反会起作用(这是有道理的)。

但我对第一条路线感到好奇,我认为这两个 URL 都应该起作用,因为它应该在没有给出默认控制器和动作时抓取默认控制器和操作。

更新

最后我只用了这个

因为那是我想要的行为。但是,当我然后打电话时

它生成

而不是一条闪亮的路径。我可以用 Url.RouteUrl 强制它,但我认为它应该自动选择这个。

0 投票
3 回答
1818 浏览

asp.net-mvc - 动态 MVC 路由:动作名称

我有一个名为的控制器About和一个名为Index. 我希望 URL 是这样的(动作名称将是动态的):

路由

控制器

看法

0 投票
2 回答
1079 浏览

c# - MVC 4:自定义路由和 Html.Action 不同步

所以我有这个自定义路由,它根据 URL 中的文化设置路由表,但是当我调用 Url.Action(...) 时,它不会生成本地化 URL。任何想法我做错了什么?页面上的文化正在发生变化,我能够确定用户选择了什么语言,但 Url.Action 没有生成本地化 URL。

这是自定义路由,它会更改路由表的值(不确定是否采用这种标准方式):

和这个帮助类来设置线程文化:

还有 RouteConfig 类,它从 Global.asax 调用并使用我的自定义路由类设置路由:

但是如果没有这种扩展方法,我将无法生成基于文化的路由,即 Url.Action 不会根据自定义路由类创建的路由表生成 URL:

0 投票
1 回答
236 浏览

asp.net-mvc-routing - 在 MVC 5 中创建故障转移路由

如果将任何未找到的 Url 发送到我的“Home”控制器,我希望它。我的意思是像 SomeDomain/ThisIsNotAController/Goober/adsfasdf1?spacerocket 中传递的总垃圾 url。404 错误只是让许多人感到困惑。

如果所有其他人都失败了,我如何映射一条路线来说 Home/Index。我知道你可以在 Rails 中做到这一点。提前致谢。是的,我确实搜索过这个,但我想我不知道要问什么

台湾

0 投票
1 回答
4072 浏览

asp.net-mvc - 使用带有 MVC5 属性路由的自定义路由处理程序

使用库AttributeRouting,我能够配置属性路由以使用自定义路由处理程序(继承MvcRouteHandler):

此外,在 MVC5 之前,可以更改任何现有路由的路由处理程序:

对于使用属性路由的 MVC5,路由集合包含内部类(RouteCollectionRoute例如),并且似乎无法更改路由的RouteHandler属性。

如何更改在 MVC5.1 中使用属性路由时使用的默认路由处理程序?

0 投票
1 回答
110 浏览

c# - MVC 路由映射

我有一个网站,xyz.com,用户正在设置管理员帐户,然后他们有其他用户在他们下注册。他们叫他们的帐户名wisconsinsponsor。另一个用户设置了另一个名为 的帐户iowasponsor。因此,我希望能够让用户能够浏览xyz.com/wisconsinsponsorxyz.com/iowasponsor进入这些用户设置的适当设置。

因此,在我浏览到xyz.com/wisconsinsponsor哪个可以让我获得 wisconsinsponsor 的适当设置后,我可以进入xyz.com/wisconsinsponsor/{controller}/{method}.

所以我添加了以下代码。

因此,主要目标是在不登录的情况下,我可以获得与每个“赞助商”相关的信息,然后如果用户在没有指定赞助商的情况下访问“xyz.com”,则可以获得一般信息。以下内容可以登陆主页,但是当我导航到登录或任何其他视图时,我得到例如'xyz.com/[我在数据库中的第一个赞助商条目]/admin/login'而不是'xyz.com/admin/login'。为什么导航不属于默认路线?

0 投票
1 回答
94 浏览

asp.net-mvc-routing - MVC 项目路由不是将 .html 路由到自定义路由

我在我的 ASP.Net MVC 项目中为“privacy.html”添加了一条路由到 Home/Privacy 的路由。我已经成功地在其他项目中使用了它,但它在这个项目中不起作用。

我添加了路由调试器,在站点的所有页面上,它在页面末尾向我显示了路由表,但它没有显示在 privacy.html 上。它显示 404 错误“您要查找的资源已被删除、名称已更改或暂时不可用。”

我完全不知所措。就像我的本地 IIS(和服务器 IIS 7.5)没有使用路由表来处理 *.html 请求。

0 投票
1 回答
38 浏览

asp.net-mvc - 文件名中的 MVC 路由 2 参数

我正在使用 MVC 5,我有这个网址:

/乔斯工作室埃塞克斯

这是 2 个单独的参数 {business}-{county}

Q1)我怎样才能写一条路线来拆分它?

Q2) 任何人都可以想办法处理这个 url '/joes-studio-west-yorkshire',县是 'west-yorkshire' 吗?

谢谢

0 投票
3 回答
39 浏览

asp.net-mvc - MVC路由问题使两种方法起作用

我有产品控制器和两种方法编辑和文件上传。我应该在我的路由配置中做些什么来使这两个工作。

Product/6(用于编辑 productid 6)

Product/Fileupload(用于上传文件)。

我当前在 routeconfig 中的路线如下:

0 投票
1 回答
1332 浏览

c# - 如何从自定义 MvcRouteHandler 回退到路由表中的下一个

我有一个自定义的 MvcRouteHandler,它检查数据库是否存在 Url,并将其与一些控制器操作和 Id 配对。

但是,如果此路由处理程序在数据库中找不到匹配对,我希望 MVC 继续尝试在路由表中使用其他已定义的路由处理程序。

我怎样才能做到这一点?

更新:(添加了示例代码)

FriendlyRouteHandler 是:

添加此行后,它似乎工作:

我是幸运还是这是正确的做法?我需要在某处使用 IRouteConstraint 吗?

顺便说一句,我的影响是Adam Riddick 的这篇文章