ASP.NET MVC JavaScript路由

jim*_*lan 10 asp.net-mvc

剧透:这是现在的一个问题,所以道歉对任何人读它纯粹是扭曲的话题:)

无论如何,我今天做了一些研究,当我认为谷歌的一些研究不会受到伤害时,通过javascript添加路线.基本上,我的目标是在我的视图中消除以下类型的构造:

替代文字

并将其替换为类似于:

替代文字

好吧,在找到这篇精彩的文章之后,我今天有点幸运(这不是我的,也不是除了尊重这项工作之外我还有任何联系):

http://weblogs.asp.net/zowens/archive/2010/12/20/asp-net-mvc-javascript-routing.aspx

在通过javascript处理路线时,这对我来说确实是一个缺失的链接(或者我认为).但是,第二个代码示例具有误导性,实际上不会产生示例所导致的内容.任何人都可以建议修复此和/或替代解决方案,以允许在mvc视图中这种流畅的js路由约定?

干杯...

[编辑] - 格林威治标准时间22:16 编辑的问题,以探索关于这个主题的更深层次的选项,以及更改的标题(删除了OT部分).

zow*_*ens 6

所以问题是为什么第二个代码示例不能按预期工作.这是答案,帖子目前没有返回任何内容.这是某个开发人员没有查看代码细节的示例.使用homePageUrl时,该值将是未定义的.

要实际获取主页URL,您需要执行以下操作:

$.routeManager.action({controller:'Home', action:'Index'}).toUrl()
Run Code Online (Sandbox Code Playgroud)

所以,故事的寓意是代码有点破碎.post action应该返回一个对象,你可以在执行post之后立即放置"toUrl()",如下所示:

$.routeManager.action({controller:'Home', action:'Index'})
              .post(function(data){ alert(data); })
              .toUrl();
Run Code Online (Sandbox Code Playgroud)

我会稍微修复这个bug!

  • +1 - 谦虚的回应;).加上一个小小的答案,因为它是答案 - 是的...谢谢!! (2认同)