问题标签 [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 回答
3973 浏览

asp.net-mvc - 重定向到另一个控制器+操作而不更改 ASP.Net MVC3 中的 URL

注意:下面只是一个小的演示排序来模拟我正在寻找的内容:

以下是我的应用程序上用户可以看到的网址格式

我维护了一个系统,其中没有 2 只动物(可能是不同种类的)可以具有相同的 id,这意味着如果有一只 id=1 的猫,我们不能有任何其他具有该 id 的动物。同样从我的系统中,我可以仅从动物 ID 中提取动物详细信息+类型

除了现有的 URL 模式之外,我还计划创建一个短 URL,格式如下

我创建的路线如下,它们在 global.asax 中的顺序相同

当前控制器看起来像这样

现在RedirectToRoute/的问题RedirectToAction是它们都更改了 URL。但我不想改变我的 url 模式。

请建议我如何实现这一目标,您可能会提出一些完全不同的方式来实现这一目标

0 投票
1 回答
9295 浏览

asp.net-mvc-3 - MVC:路由获取/发布到不同的控制器。如何?

我正在编写一个 MVC 控制器,我需要在其中处理数据返回以及长轮询“数据已更改”,例如来自 SAME (!) url 的行为。对此我无能为力——我正在为一个已经存在的应用程序实现代理,所以我无法对 API 进行任何扩展/修改。

我的主要问题是: * POST 操作必须立即完成。* GET 操作需要更长的时间(有时可能需要几个小时)。

我可以以某种方式重写两者以转到不同的控制器吗?另一种方法是......嗯......使两者异步,只是POST正在完成正确的三个然后。

有人对此发表评论吗?

0 投票
4 回答
30311 浏览

asp.net-mvc-3 - ASP.Net Mvc 3 Url.Action 方法使用来自先前请求的参数值

当使用帮助程序自动生成 Url 时Url.Action,如果页面包含类似于

@Url.Action("编辑","学生")

预计会生成一个类似的 url,domain/student/edit并且它的工作方式与预期的一样。但是如果请求的 url 包含一些参数,比如domain/student/edit/210,上面的代码会使用上一个请求中的这些参数并生成类似的东西,即使我没有为Action方法提供任何这样的参数。

简而言之,如果请求的 url 包含任何参数,则任何自动生成的页面链接(为该请求提供服务)也将包含这些参数,无论我是否在Url.Action方法中指定它们。

怎么了?

0 投票
1 回答
488 浏览

c# - ASP.NET 中的路由处理

我正在使用 ASP.NET WebForms 和 C#。我正在尝试为不同的页面添加路线。这是来自我的 global.asax 的示例代码,它注册了 Routes

它工作正常。如果我们打开像 /Admin/Users/Update/1 这样的 url,它会很好地打开编辑表单。但是,如果不遵循模式或进行任何更改,问题就会开始。就像我们进入

或者

它只会显示一个 404 页面。

你知道我们该如何处理吗?因此,如果 url 模式的差异很小,我们应该仍然能够处理它。

0 投票
2 回答
1236 浏览

asp.net - ASP.NET 路由。如何在通用处理程序中使用路由?

我尝试在以下通用处理程序中使用 ASP.Net,但我在Page.RouteData

我做错了什么?

对于任何答案,请记住我是新手,我的语言是 VB.NET :) 提前谢谢你。

0 投票
1 回答
210 浏览

asp.net - ASP.NET 路由干扰问题

我对 ASP .NET 路由有一个令人震惊的问题。我不知道这是否是 Microsoft 代码中的错误,或者我只是使用错误。

场景基本上是这样的:

我有一条要添加的自定义路线。此外,我正在注册 ASP .NET DynamicDataRoute。如果我省略了自定义路由,所有 ASP .NET 都DynamicDataRoute可以正常工作。一旦我在我的之前添加这个DynamicDataRoute

DynamicData 生成的所有 DynamicHyperlinks 都是使用错误的根 url 生成的,如下所示:

http://localhost/IgnoreDirectory/MyTable/List

应该是(直到我添加了我的自定义路线)

http://localhost/MyDynamicData/MyTable/List

奇怪的是,我正在为完全不同的路径添加我的 DynamicDataRoute:

为什么为 IgnoreDirectory 添加路由会导致我的 DynamicData 路由使用 IgnoreDirectory 的基本 url??

我想不通。

0 投票
2 回答
399 浏览

asp.net - asp.net MVC路由问题

我做了一个网站bulkpedia.com 在这个我有使用ASP.NET Routing机制的方式

每当有包含句点的查询时,它都会向我显示 404 错误

例如http://bulkpedia.com/web/fb.com

请帮我解决它。

提前致谢

0 投票
2 回答
385 浏览

asp.net-mvc - 为什么将此路由参数附加到查询字符串上?

我有一个记录用户计步器条目的 ASP.NET MVC 3 应用程序。用户可以通过访问来查看所有最近的计步器条目,并且可以分别通过访问诸如、和/Pedometer之类的 URL 按年、年/月或年/月/日进行过滤。/Pedometer/2011/Pedometer/2011/08/Pedometer/2011/08/15

我在Global.asax. 下面显示的第一个路由是允许按日期过滤的各种 URL 模式。第二个路由(未显示)是默认的 ASP.NET MVC 路由。

这是我的问题。我有一个要在其中创建表单链接的视图:currentUrl?format=csv,这将让用户以 CSV 格式下载所请求 URL 的计步器条目。因此,如果用户正在访问/Pedometer,下载链接将是/Pedometer?format=csv. 如果用户正在访问/Pedometer/2011/08下载链接将是/Pedometer/2011/08?format=csv.

为了创建这样的链接,我添加了一个自定义 Html Helper DownloadToExcel,其名称如下:

当我@Html.DownloadToExcel()在视图中添加标记时,它会生成一个链接,但问题是——当用户访问最近的条目或按年/月或年/月/日期过滤的条目时,它按预期工作,但不是用户访问年份过滤器 URL。

以下列表显示了用户访问的 URL 以及自定义 Html Helper 生成的相应 URL:

  • 参观:/Pedometer- 下载链接:/Pedometer?format=csv
  • 参观:/Pedometer/2011- 下载链接:/Pedometer?year=2011&format=csv
  • 参观:/Pedometer/2011/08- 下载链接:/Pedometer/2011/08?format=csv
  • 参观:/Pedometer/2011/08/15- 下载链接:/Pedometer/2011/08/15?format=csv

为什么访问/Pedometer/2011下载链接时是/Pedometer?year=2011&format=csv而不是/Pedometer/2011?format=csv?为什么它不适用于那个案例,但在年/月和年/月/日案例中按预期工作?

谢谢

0 投票
2 回答
15938 浏览

asp.net - 在 IIS 7.5 上的同一端口上运行两个网站?

我们需要能够在相同的 Intranet 服务器和端口号上运行一个 ASP.net Web 应用程序的两个版本,但一个映射到 /,另一个映射到 /experimental(不是实名,但足够接近)。

C:\inetpub\wwwroot\Version1 => http://test1.organization.com/ C:\inetpub\wwwroot\Version2 => http://test1.organization.com/experimental

第一个 URL 已经暴露给一些 beta 用户,因此需要保持一定的稳定性。第二个将包含只有进入 /experimental 的用户才能看到的实验代码。我们无法选择使用不同的服务器或不同的端口。

过去,我通过将 / 映射到 IIS 中的站点下的站点,然后将第二个站点添加为它下面的应用程序,并将其别名为 /site2 来实现这一点。

服务器站点 默认网站 <= 映射到第一个版本的物理路径和// Application1 <= 映射到第二个版本和 /experimental 的嵌套应用程序

然而,这似乎是草率的。使用重写规则或使用 ARR 会更干净吗?如果是这样,怎么做?

谢谢!

0 投票
2 回答
1350 浏览

asp.net-mvc-3 - Asp.net MVC3 UrlHelper.Action() 抛出 NullReferenceException

问题

我目前正在为 ASP.net MVC 3 构建一个助手,并且在考虑 UrlHelper.Action() 方法时遇到了问题。除了第一个请求(应用程序启动后)之外的每个请求,以下代码都会引发 NullReferenceException。

相关堆栈

可能的原因

我使用了一个名为 AttributeRouting 的库,我通过 nuget 安装了它,并认为这可能会导致问题,但删除引用没有效果。

因为它确实可以在第一个请求中工作,但之后的每个请求都失败了,所以我觉得它与在应用程序启动时运行但应该在请求启动时运行的代码有关,或者某些变量/对象没有保留在请求中.

额外信息

htmlHelper.Url() 是下面的扩展方法。