问题标签 [asp.net-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 投票
1 回答
1585 浏览

asp.net - Visual Studio 2010 ASP.NET 4.0 WebForms 路由在 IDE 调试模式下不起作用

问候,

我正在使用 Visual Studio 2010 和 ASP.NET 4.0 构建一个 WebForms 项目,该项目使用 System.Web.Routing 中的新路由功能。当我构建我的解决方案并从 VS.NET 的调试环境中运行它时,只有包含“.aspx”扩展名的 RouteUrl 的路由被正确路由到 PhysicalFile。路由引擎似乎没有“检测到”对其他 URL 的请求以进行处理。在以下情况下,“Scenario1”显示 404,“Scenario2”正常工作。

我将非常感谢您提供的任何指导。

这是我的 global.asax 中的相关代码:

感谢您抽出宝贵的时间。

时刻冲浪者

0 投票
1 回答
1012 浏览

asp.net-mvc - 为什么 ASP.NET 路由优先于 web.config Http Handlers 部分?

我们的商店正在将 ASP.NET MVC 集成到一个大型 Web 应用程序中,该应用程序利用 web.config 中system.webServer\handlers下定义的自定义和第 3 方 HTTP 处理程序。以这种方式利用 HTTP 处理程序对我们来说非常有用,因为我们不需要重新编译应用程序或将实际的处理程序页面放置在产品的每个实例的 Web 范围内的某个磁盘上。

是否真的有必要在我们的 global.asax 中添加显式忽略路由,以便运行时可以尊重我们在 web.config 中定义的处理程序?我原以为会在检查 system.webServer\handlers 中定义的处理程序之后调用 Web.Routing (而不是相反)。

我们使用模块化设计,允许在添加功能时从 web.config 添加/删除处理程序。随着 MVC 路由的引入,我们似乎需要在 global.asax 文件中为 web.config 中定义的每个可能的处理程序添加忽略路由。

请注意,这些处理程序的实际文件不存在于磁盘上——它们是虚拟的并嵌入在程序集中。这是一个 3rd 方处理程序的示例,它现在需要 global.asax 中的显式忽略路由:

因此,作为记录,如果您使用 System.Web.Routing,您必须包含 Web.Config 中指定的 Http 处理程序的忽略路由?或者我做错了什么?

0 投票
3 回答
655 浏览

asp.net - ASP.NET 路由:标记之间的文字子段,并使用文字子段中的字符路由值

我问的原因是因为 IIS 保护某些 ASP.NET 文件夹,如 Bin、App_Data、App_Code 等。即使 URL 没有映射到实际的文件系统文件夹,IIS 也会拒绝路径段等于其中之一的 URL提到的名字。

这意味着我不能有这样的路线:

...其中 id 可以是任何字符串,例如

因此,我愿意更改路由,而不是禁用此安全措施,在 id 之前使用后缀,如下所示:

但是如果 id 包含新的分隔符,这些路由将不起作用,在这种情况下为 _,例如

为什么?我不知道,对我来说似乎是一个错误。我怎样才能使这些路由工作,其中 id 可以是任何字符串?

0 投票
1 回答
4433 浏览

asp.net - 具有不等于约束的 ASP.NET 路由

我有这样的路线:

这对所有用户都适用,我有一种情况,我想为 getmoreactivity 执行操作。所以我想用这个约束来说明用户名何时不是 getmoreactivity。它只是不工作。

我坚持使用 RouteDebugger 并尝试了 @"[^(getmoreactivity)]" @"^^(getmoreactivity)" @"^getmoreactivity" @"[^getmoreactivity]"。好吧,我尝试了无数的事情,但没有一个能解决我的问题。

你到底是如何对整个单词加上 NOT 约束的?

0 投票
5 回答
5455 浏览

c# - 如何通过 ASP.NET 路由路由图像?

我想创建一个动态缩略图调整器,以便您可以使用以下 URL 来获取调整大小的图像:

我尝试设置这样的路线:

但如果文件存在于 URL 中,ASP.NET 将绕过路由并只返回文件。如何强制 ASP.NET 路由图像而不是返回磁盘上的内容?

0 投票
1 回答
581 浏览

asp.net-mvc - GetVirtualPath 返回第一条路由

我的项目路线有一个奇怪的问题。这是我的路线:

站点结构为:
Controllers
- > MyHome --
> AuthorController
-- > ArticleController -
> Views
--> Article
---> Index.aspx
-> Author
-> Index.aspx

但是当我打电话时

从 /MyHome/Article 页面,它总是返回第一条路线(MyHome/Author)

好吧,我在做什么错?

0 投票
3 回答
1869 浏览

c# - ASP.NET 4 路由问题

我试图在我的 Global.asax 文件中执行以下操作:

目前我必须像这样定义我的路线:

注意单词 pages 之前{slug}

现在,如果我这样定义它:

这没用。

我的 CSS 和 JS 文件无法加载,我得到 404。

但是,如果我这样做:

它工作正常?

基本上我希望我的网址看起来像这样:

example.com/contact或者example.com/about-us它都是基于 {slug} 从数据库动态提供的。

任何人都可以帮忙吗?

0 投票
3 回答
970 浏览

asp.net-mvc-2 - ASP.NET MVC 2 路由错误

将 ASP.NET MVC 2 Web 应用程序发布到我的学校 IIS 7.5 服务器后,我在初始加载时收到 403 错误,如果我尝试调用 /Home/About/Index 等路由,则会收到 404 错误

我什至尝试过发布默认的 ASP.NET MVC 2 示例应用程序,但没有成功。Web 服务器似乎没有选择任何路由,并且它正在确定 /Home/About/Index 是目录查找。有没有其他人遇到过类似的问题?

我与系统管理员交谈并确认启用了 HTTP 重定向和 HTTP 错误。在四处寻找之后,我看到了一些关于由于发布位置不是 webroot 而导致路由不起作用的评论。对为什么有任何评论?

目前系统管理员具有以下网站目录结构。这可能是问题吗?

  • 默认网站
    • 2010年秋季
      • 123级
      • 321类
    • 2011年春季

我已经向系统管理员和我的教授寻求帮助,但是他们都不熟悉 MVC 和路由。任何帮助表示赞赏。

当然,我可以放弃我的想法,只使用 Web 窗体和 SOAP,就像我在其他课程中所做的那样,但我想了解更多关于 ASP.NET 和 REST 中的 MVC。谢谢您的帮助!

0 投票
1 回答
1345 浏览

asp.net-4.0 - ASP.NET WebForms GetVirtualPath 总是返回 null

我刚刚介绍了 ASP.NET 路由,目前注册了两条路由:

但是,当我尝试使用这些路由构建 url 时,我总是会遇到异常。我试过这个:

还有这个:

RouteTable.Routes.GetVirtualPath无论哪种方式,当我调用时,我都会得到一个空引用异常:

甚至:

我在这里做错了什么?

0 投票
2 回答
5426 浏览

c# - ASP.net WebForms - 在标记中使用 GetRouteUrl

我一直在试图弄清楚如何将路由功能与 ASP.net 4.0 WebForms 一起使用。我在我的路线集合中添加了一条路线:

在我的母版页中,我尝试执行以下操作:

我得到一个编译器错误:服务器标签不能包含 <% ... %> 结构。

在 Web 窗体的服务器控件中创建路由 URL 的正确方法是什么?我还需要将其包含在以下内容中: