【问题标题】:Return MVC final current path in JQuery?在 JQuery 中返回 MVC 最终当前路径?
【发布时间】:2011-12-19 21:44:23
【问题描述】:

我现在正在使用...

window.location.pathname != "/x_Controller/x_View"

有什么方法可以只获取“x_View”吗?谢谢。

【问题讨论】:

  • 所以重申一下,您想从 Javascript 中确定 Action 名称吗?
  • 您的问题没有意义,因为如果您现在使用的是window.location.pathname != "/x_Controller/x_View",并且您只想获得x_View,您将编写window.location.pathname != "/x_View"。所以很明显现在你没有使用这样的东西。所以问题是:你的问题是什么?
  • @GalacticCowboy 是的,完全正确。谢谢。对不起,脑子放屁。

标签: jquery asp.net-mvc model-view-controller url


【解决方案1】:

你可以只做window.location.pathname的子串

var pathname= window.location.pathname;
var endURL= pathname.substring(pathname.lastIndexOf('/') + 1,pathname.length);

编辑

正如 Galactic 所建议的,如果它末尾有任何路线值,例如 actionName/12,则不会为您提供操作名称。你真正想要使用的是

var endURL=@ViewContext.Controller.ValueProvider.GetValue("action").RawValue;

这将为您提供操作的实际名称,而不仅仅是最后一个“/”之后的内容

【讨论】:

  • 只要 Action 名称实际上是 URL 中的最后一件事。但是,默认的 MVC 路由之一是 {controller}/{action}/{id},它将返回 id 值。
  • 是的。我没有阅读 cmets 以了解它的确切用途。
  • 它可以工作,但有没有办法将它放在外部 .js 文件中?还是必须内联?
猜你喜欢
  • 1970-01-01
  • 2011-01-18
  • 1970-01-01
  • 1970-01-01
  • 2013-07-21
  • 2011-09-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多