MonoRail 重定向到 # 锚点

Posted

技术标签:

【中文标题】MonoRail 重定向到 # 锚点【英文标题】:MonoRail redirect to # anchor 【发布时间】:2010-10-07 03:37:21 【问题描述】:

我正在使用 Castle Monorail 和 jQuery tabbed navigation。

在处理控制器操作时,我想重定向到视图,并控制哪个选项卡可见。因此,我想让我的控制器重定向到视图中的特定锚点,类似于:

RedirectToAction("Edit", "id=1", "#roles"));

导致url:

http://localhost/MyApp/User/edit.rails?id=1#roles

但是,实际结果将 # 符号编码为 %23

http://localhost/MyApp/User/edit.rails?id=1&%23roles=&

我肯定在这里遗漏了一个基本概念。我需要做什么来解决这个问题?

【问题讨论】:

【参考方案1】:

它不仅对“#”符号进行编码,它只是将其称为另一个查询字符串参数(添加“&”和“=”)

我建议您将此问题发布到 users group of Castle Project,甚至更好 - 在 Castle's issue tracker 上公开问题。

【讨论】:

【参考方案2】:

不是最好的解决方案,但我使用了 RedirectToUrl() 并使用了静态 url。

另一种解决方案是使用路由引擎并自己创建 url,然后添加实际的哈希。

检查

RoutingModuleEx.Engine.CreateUrl()

或者类似的东西。

【讨论】:

以上是关于MonoRail 重定向到 # 锚点的主要内容,如果未能解决你的问题,请参考以下文章

如何从 DIV 重定向并绕过子锚点 href

向 Laravel 重定向添加一个锚点

如果通过单击锚点进行重定向,则停止重定向页面

301/302,文档正文显示“如果您的浏览器没有重定向您,请单击此处”锚点

这里有任何 Javascript 专家来制作这个脚本吗?如果锚点改变重定向页面

使用 :anchor 重定向到。 :anchor 在 Show 操作中丢失,但在 Create 上工作正常