2016-02-18 157 views
0

我有一个应用程序将从外部应用程序启动,可能带有一个参数(只有一个)与URL一起。我在我的MVC主控制器内有一个如下操作:将数据从ASP.MVC控制器传递到角控制器Typescript

public JsonResult LoadParam() 
    { 
     var query = Request.Url.Query.ToString(); 
     string id = HttpUtility.ParseQueryString(query).Get(0); 
     return Json(id); 
    } 

我的问题是如何从角码调用这个?通常我会使用Get,但是我传递“Home/LoadParam”url并且没有任何意义。我尝试传递$ location.url(),但之后我不会点击LoadParam()动作,因为我的单页应用程序站在Home/Index URL上。更何况,我不能让$位置获得任何结果(总是得到一个空字符串)。
因此,总结 - 我的问题是,如何从angualr代码调用此操作以在应用程序打开时检索参数的值?

回答

0

您需要使用$location服务来获取客户端上的查询参数,而不是从服务器端获取它。

//Access via property 
var id = location.search().id; 
//Access as array 
var id = location.search()[0]; 

https://docs.angularjs.org/api/ng/service/ $位置

+0

是的,但我真的不知道什么是在URL的参数值,以便清楚,我不能把它传递给MVC控制器。这正是我想从LoadParam Action获得的。 – cAMPy

+0

不明白你在问什么,为了让查询参数传递给页面请看我最近的更新 –

相关问题