2016-02-18 196 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

不明白你在問什麼,爲了讓查詢參數傳遞給頁面請看我最近的更新 –

相關問題