问题标签 [system.web.routing]

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 投票
5 回答
2632 浏览

asp.net - Asp.Net System.Web.Routing 查找实际的 .aspx 页面

我正在使用 System.Web.Routing 来获得一些更好的 URL,但遇到了问题。我需要知道处理请求的实际页面。

例如一个请求进来:

我需要找到处理该请求的页面,例如:

我只使用 System.Web.Routing 而不是 MVC。我有一个包含一些路由信息的 RequestContext 句柄,但我看不到我需要什么。

提前致谢。

******* 更新 *******

我能够使用Context.CurrentHandler给我"ASP.management_default_aspx",不完全是页面,但足以获得页面名称。

0 投票
2 回答
638 浏览

asp.net - 在 Asp.Net Webform 应用程序中使用路由

System.Web.Routing在 Asp.Net Webform 应用程序中使用。我在global.asax

目录结构如下:-

应用

|

|--- 测试(文件夹)

当我在浏览器中编写时http://localhost:xxxx/Test/(使用 Casini),请求以传统方式而不是通过路由处理,并且它给了我“目录列表 - /test/”页面。

你能帮帮我吗?

0 投票
1 回答
162 浏览

asp.net - 如何找到已加载的路由 http 模块?

我正在使用传统的 Asp.Net 网站,我在其中使用 System.Web.Routing 模块。我想找到我知道路由http模块是否加载的方式?

0 投票
1 回答
1719 浏览

asp.net-mvc - 使用 ASP.NET MVC 路由解析 URL

我有一个字符串格式的 URL,我想解析它以获取相关的路由值。我可以手动解析字符串,但我想使用我的路由配置,所以我不受特定字符串格式的束缚(因此我可以轻松更改 URL 格式)。

我正在尝试在 RouteCollection 上使用 GetRouteData 方法,但这需要一个 HttpContextBase 参数。显然,当 URL 是当前 URL 时,这可以正常工作,但我需要能够传入任何 URL。

在我的路由单元测试中,我模拟了 HttpContextBase,但我不想在生产代码中这样做!

有任何想法吗?

0 投票
1 回答
817 浏览

asp.net - 如何在给定虚拟路径的情况下创建 RouteValueDictionary

我想知道是否有一种方法可以在给定虚拟路径的情况下返回与路径匹配的路由的参数名称和值的集合。我需要这个来获取目标页面上 URL 的参数,而无需对正则表达式进行硬编码。

我猜这是 RouteTable.Routes.GetVirtualPath 的反面,它接受一个 RouteValueDictionary 并返回一个虚拟路径。

这可能吗?

标记

0 投票
2 回答
2052 浏览

asp.net - ASP.NET System.Web.Routing 和 Querystring 参数

我正在使用 ASP.Net 3.5 SP1 "System.Web.Routing" 在我的 WebForm 应用程序中启用 URL 路由。现在我需要在 QueryString 中传递一些参数,例如:

http://www.mydomain.com/Search/Books/Computers?sort=author&pagesize=10

这是我正在使用的路线:

路由工作正常,因为它被重定向到 search.aspx 但在查询字符串中我找不到额外的参数排序和页面大小。

0 投票
2 回答
326 浏览

asp.net - 站点根目录或主页的 Web.Routing

我正在使用 Web.Routing 做一些工作,使用它来获得友好的 url 和类似于站点的类似 Rest 的界面,该站点基本上由单个 IHttpHandler 呈现。没有网络表单,处理程序生成所有 html/json 并将其作为流程请求的一部分写入。

例如,这适用于 /Sites/Accounting 之类的东西,但我无法让它适用于站点根目录,即“/”。

我尝试使用“default.aspx”(这是我保存在根文件夹中的空 aspx 文件,以便与 cassini 和 iis 配合使用)注册一个带有空字符串的路由。我将 RouteExistingFiles 显式设置为 false,但无论我在点击根 url 时做什么,它仍然会打开 default.axpx,它没有继承的代码,并且包含一个简单的 h1 标记来表明我已经点击了它。

我不想更改默认文件以重定向到所需的路由,我只想要在没有找到其他路由时应用的“默认”路由的等效项,类似于 MVC。

作为参考,该站点的先前版本没有使用 Web.Routing,但在 web.config 中引用了一个处理程序,该处理程序完全能够拦截对 root 或 default.aspx 的请求。

规格:ASP.NET 3.5sp1、C#、无网络表单、MVC 或 openrasta。普通的旧 IHttpHandlers。

0 投票
2 回答
724 浏览

asp.net - 使用 webforms 路由时获取虚拟 url

在将 System.Web.Routing 与 webforms 一起使用时,如何获取虚拟 url 而不是 url 映射到的 webforms 页面名称。

我想要网址“/confirm/5”而不是“Confirm.aspx”。

0 投票
2 回答
574 浏览

asp.net-mvc - ASP.NET MVC 路由失败。这是错误还是极端情况?

我有一个 ASP.NET MVC 3 应用程序,用户可以在其中发布“bla bla would be better if yada yada yada”的建议。对于建议详细信息页面,我定义了一个很好的SEO 友好路线,如下所示:

如您所见,我希望修复“如果会更好”部分。

这条路线非常适合任何旧的建议并生成类似suggestion/5/this-site/would-be-better-if-it-had-a-iphone-application的链接,点击链接实际上会请求相应的详细信息页面。

具有讽刺意味的是,我的一个朋友恰好是一名测试人员,他无意中发布了一条实际上打破路线的建议:“如果'如果'总是在中间对齐会更好,这个网站会更好”。
为此建议生成的链接是 /suggestion/84/this-site/would-be-better-if-would-be-better-if-was-always-alligned-in-the-middle

我已经尝试过Phil Haack 的 Routing Debugger并确认该路由实际上会一直工作到suggestion/84/this-site/would-be-better-if-would-be-better-if-,所以第二个“如果会更好”实际上被接受了;在此之后添加任何内容实际上会导致 url 不匹配任何路由(感谢 Omar -see comments- for help)


请记住,我真的不想更改路线定义,因为我认为在这种情况下,我可以做到最好,SEO 明智。

那么,为什么文本等于路由的固定部分会阻止链接匹配路由呢?为什么路线中断?

我实际上对为什么更感兴趣,因为我相信理解为什么会导致解决方案,或者至少是对一个相当有趣的问题的正确理解。

0 投票
1 回答
458 浏览

asp.net-mvc - 如何在 System.Web.Routing / ASP.NET MVC 中匹配以文字波浪字符 (~) 开头的 URL?

我正在将一些老式代码转换为 ASP.NET MVC,并且遇到了由我们的 URL 格式引起的障碍。我们通过在特殊 URL 路径前加上波浪号来指定 URL 中的缩略图宽度、高度等,如下例所示:

http://www.mysite.com/photo/~200x400/crop/some_photo.jpg

目前,这是由 IIS 中的自定义 404 处理程序解决的,但现在我想/photo/用 ASP.NET 替换并用于System.Web.Routing从传入的 URL 中提取宽度、高度等。

问题是 - 我不能这样做:

因为 System.Web.Routing 不允许路由以波浪号​​ (~) 字符开头。

更改 URL 格式不是一种选择……我们从 2000 年起就公开支持这种 URL 格式,并且网络上可能充斥着对它的引用。我可以在路由中添加某种受限通配符吗?