问题标签 [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 投票
4 回答
3361 浏览

asp.net-mvc - 如何在 ASP.NET 路由中使用查询字符串?

新的 ASP.NET 路由非常适合简单的路径样式 URL,但如果您想使用如下 URL:

http://example.com/items/search.xhtml?term=Text+to+find&page=2

您是否必须在验证中使用 catch all 参数?

0 投票
14 回答
45397 浏览

asp.net-mvc - ASP.NET MVC 中 ActionLink 的等效图像

在 ASP.NET MVC 中是否有与 Img 标记的 Html.ActionLink 帮助器等效的工具?

我有一个输出动态生成的 JPEG 的控制器操作,我想使用相同的 Lambda 表达式链接到它,就像我使用 ActionLink 执行 HREF 一样。

或者,仅将 URL 提供给路由(再次使用 Lambda 指定)的助手也是可以接受的。

编辑:我最初指定我使用的是预览版 5,但是我看到已经发布了一个 Beta。所以总的来说,版本号是一条不需要的信息,因为我可能很快就会升级:-)

0 投票
5 回答
12485 浏览

ruby-on-rails - 创建带有可选路径前缀的路由

我怎样才能让我的路线识别一个可选的前缀参数,如下所示:

其中 lang 部分是可选的,如果 URL 中未指定,则具有默认值:

编辑

理想情况下,我希望通过映射命名空间来跨许多控制器和操作执行此操作:

0 投票
2 回答
2679 浏览

asp.net-mvc - ActionLink 因 ASP.NET MVC Beta 中的 ViewData 参数而失败

我在 ASP.NET MVC Beta 中的 ActionLink 方法遇到了一个奇怪的问题。当使用来自 MVC 期货的 Lambda 重载时,我似乎无法指定从 ViewData 中提取的参数。

当我尝试这个时:

HTML 包含一个带有空 URL 的链接。

但是,如果我对参数进行硬编码,如下所示:

输出包含一个实际的 URL。

我认为这可能与 ViewData 的可见性和可用性有关,并且当 Lambda 被框架内部评估时,它不存在。但这只是一个猜测。

我是在第一个示例中做错了什么导致这种情况,还是缺少一些错误?

更新:我正在使用最新版本的 MVC 期货。有人指出,这对某些人有效。由于它对我不起作用,这让我认为这是我正在做的事情。有没有人对接下来要看什么有任何建议,因为这个真的让我很难过。

0 投票
11 回答
120124 浏览

c# - 路由请求时 HttpContext.Current.Session 为空

没有路由,HttpContext.Current.Session是否存在所以我知道它StateServer正在工作。当我路由我的请求时,HttpContext.Current.Sessionnull路由页面中。我在 IIS 7.0 上使用 .NET 3.5 sp1,没有 MVC 预览。使用路由时似乎AcquireRequestState永远不会触发,因此会话变量不会被实例化/填充。

当我尝试访问 Session 变量时,我收到此错误:

base {System.Runtime.InteropServices.ExternalException} = {"Session state can only be used when enableSessionState is set to true, either in a configuration file or in the Page directive. Please also make sure that System.Web.SessionStateModule or a custom session state module is included in the <configuration>.

在调试时,我还收到HttpContext.Current.Session在该上下文中无法访问的错误。

--

我的web.config样子是这样的:

这是 IRouteHandler 的实现:

我也尝试过放在EnableSessionState="True"aspx 页面的顶部,但仍然没有。

Any insights? Should I write another HttpRequestHandler that implements IRequiresSessionState?

Thanks.

0 投票
2 回答
2178 浏览

c# - 带有asp.net mvc beta的强类型actionlink?

我曾经能够在 Preview 3 中执行以下操作

我应该如何使用 MVC Beta 以强类型的方式创建 url?到目前为止我唯一发现的是

当然,这不是强类型的。

0 投票
3 回答
3671 浏览

c# - 为什么我的 ASP.NET MVC 路由中有查询字符串?

在我正在开发的 ASP.NET MVC (Beta) 站点上,有时对 ActionLink 的调用会返回给我包含查询字符串的 URL。我已经隔离了产生这种行为的情况,但我仍然不明白为什么它决定使用查询字符串参数,而不是产生一个干净的 URL。我知道它们在功能上是相同的,但是为了 URL 的一致性(和外观),这不是我想要的。

这是我的路线:

现在问题只发生在我查看名为“标记照片”的路线描述的视图并通过以下方式执行 ActionLink 时:

这会产生 URL:

从任何其他角度来看,生成的 URL 是:

我已经取消了 Phil 的ASP.NET Routing Debugger,一切都按顺序显示。这个让我难住了。有任何想法吗?

0 投票
6 回答
8799 浏览

asp.net-mvc - 回发不适用于 ASP.NET 路由(视图状态 MAC 验证失败)

我正在使用带有经典 WebForms 的 ASP.NET 3.5 SP1 System.Web.Routing,如http://chriscavanagh.wordpress.com/2008/04/25/systemwebrouting-with-webforms-sample/中所述

一切正常,我有自定义的 SEO 网址,甚至回发也可以。但是有一种情况,回发总是失败,我得到:

视图状态 MAC 验证失败。如果此应用程序由 Web Farm 或集群托管,请确保配置指定相同的 validationKey 和验证算法。AutoGenerate 不能在集群中使用。

这是重现错误的场景:

  1. 使用按钮创建标准 webform mypage.aspx
  2. 创建一个将“a/b/{id}”映射到“~/mypage.aspx”的路由
  3. 当您执行该站点时,您可以浏览http://localhost:XXXX/a/b/页面工作的东西。但是当您按下按钮时,您会收到错误消息。当 Route 只是“a/{id}”时,不会发生错误。

它似乎与url中的子路径数有关。如果至少有 2 个子路径,则视图状态验证失败。

即使 EnableViewStateMac="false" 也会出现错误。

有任何想法吗?它是一个错误吗?

谢谢

0 投票
6 回答
2356 浏览

asp.net-mvc - 使用通用通配符重定向到控制器(但使用不同的主控器)

我有一个问题,我想以不同的方式显示视图(不同的母版页),具体取决于它的来源,但不知道从哪里开始......

我有几条路线可以捕获包含不同结构的各种不同类型的 url。

在下面的代码片段中,我有一个产品路线,然后我有一个合作伙伴站点路线,它也可以转到产品页面,但是假设这个合作伙伴是百事可乐,他们希望他们的品牌在母版页上,而不是我们自己的默认样式。假设我去products/cola.htm这应该与Partners/pepsi/products/cola.htm相同的 url ,并且 PartnerRedirect 将能够通过翻译 url 通配符(在本例中为“products/cola.htm”)基于通配符处理 url ) 到控制器动作中,并转发用户,(但只需更改视图中的母版页)。

这可能吗?如果是这样,怎么办?

提前谢谢了。

0 投票
7 回答
8929 浏览

iis - 是否可以将所有流量转发到一个 IP 地址?

我们有一个旧的和垂死的专用服务器。我们希望在新的数据中心有一个新的。我们有一堆使用当前服务器的站点,并且无法控制它们的所有 DNS。有没有一种简单的方法可以在不更新 DNS 记录的情况下将所有流量从 xx.xx.xx.xx 重定向到 zz.zz.zz.zz?

谢谢。