javascript - 如何在 Global.asax 中获取 Angular View 的完整 url

标签 javascript asp.net-mvc angularjs

在 ASP.NET MVC 应用程序中,有 Request.Url访问Global.asax中的url 。

但是对于 Angular 应用程序,其 url 类似于 http://domain/#/homeRequest.Url我们从Application_BeginRequest获得或Application_EndRequesthttp://domain/ 。 Angular 路线不包括在内。

这是合理的,因为这些路由是在客户端添加的。但是MVC服务器端是否可以获取真实url的值呢?

<小时/>

更新:

刚刚选择了 Matteo 的答案作为正确答案。让我澄清一下。

我一直在尝试这个只有一个目的:重写我的网址。

以前我经常查Request.ApplicationPath并使用字符串函数或内置工具(如 VirtualPathUtility)操作 url .

对哈希部分的需求是有效的,因为查询字符串参数附加在那里。例如,我有一个像这样的网址:

http://[domain]/#/pay/cancel?paymentId=[some guid]

传统智慧让我想到Global.asax访问这些查询参数。我没有找到。哈希标签后面的所有内容都会被方便地忽略。

所以正确的方法是在客户端代码中处理这部分url。我正在使用ui-router 。因此,对于 url 重写/重定向,请使用 stateProvider.when(oldUrl, newUrl); 。要访问查询参数,请使用 $state.params .

经验教训:清晰思考并以不同的心态处理不同的问题。

最佳答案

没有办法,因为 url 的“哈希”部分实际上并不是 url 的一部分。您是否曾经在页面中使用过 anchor 来创建索引?概念是一样的。

无论如何,我无法想象哈希部分如何在服务器端有用。我的猜测是,您认为它很有用,因为您处理问题的方式是错误的。

如果您用更多详细信息补充您的问题,例如您想要实现的目标,我们很有可能为您提供合适的解决方案。

关于javascript - 如何在 Global.asax 中获取 Angular View 的完整 url,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27862823/

相关文章:

javascript - Sails js 未声明的变量 : NaN when modelling associations

javascript - 在 contentEditable div 中显示上下文菜单

c# - 脚手架时key已经存在于表中

javascript - AngularJS:使用 ng-show/hide 动态维护下拉列表的 3 种状态(进行中、成功、错误)?

javascript - 如何让浏览器在单击按钮时导航到指定选项卡?

javascript - VueJS : Dynamic v-model inside v-for

javascript - 如何安装咕噜

javascript - 将额外的参数传递给 reactjs 中的 onChange Listener

asp.net-mvc - 在请求之间持久化/缓存数据 - 常用方法

angularjs - 如何在 AngularJS 中预览上传的文件