2017-02-21 10 views
0

내 SignalR 허브 용도로 추적 시스템 작업 중입니다. 이를 위해 나는 현재 데이터 페이지에 대한 페이지 목록을 사용하고 사용자 페이지와 사용자 ID를 정확히 알고 있어야하기 때문에 사용자가있는 현재 페이지를 나타내는 URL을 저장할 클래스가 있습니다.AngularJS를 사용하여 C#에서 현재 페이지의 URL 가져 오기

이 내가 한 페이지 응용 프로그램을 가지고 있기 때문에 나는이 때문에 각 경로의 웹 사이트에 사용자의 위치를 ​​추적하여 문제가 있지만, 의견을 표시하는 내가 대시 보드 컨트롤러가 나는 정보를

public class UserTracking 
{ 
    public string URL { get; set; } 
    public string LastRequest { get; set; } 
    public string UserId { get; set; } 
} 

를 저장할 내 수업입니다 ActionResults 방법은 내가

public ActionResult ProjectTask() 
{ 
    return View(); 
} 

public ActionResult Project() 
{ 
    return View(); 
} 

내 질문 아래이 같은 각도 라우팅, 뭔가 .cshtml 페이지를 표시 할 수 있도록하여 내 웹 사이트에 사용자 위치의 URL을 얻을 어떻게 든 수 있어요 경우입니다. 예를 들어 사용자가 http://localhost:2969/Dashboard#/tasks/에있는 경우이 번호를 얻으려면 /Dashboard#/tasks입니다. 어쩌면 내 ActionResults에서 일부 정보를 얻을 수 있지만 어떻게 될지 모르겠다.

답변

0

제공하신 정보로이 방법이 효과가 있는지 알기는 어렵지만 다음 내용이 적용됩니다.

사용자 에 있어야하는 특정 경로를 알고 있으면 MVC Controller에 도달하여보기를 반환 할 때 해당 정보를 모델로 전달할 수 있습니다. "Freddy 's Birthday"라는 내 목록의 모든 항목을 표시하는 면도날 페이지를 반환하기위한 MVC 경로가 있다고 가정 해보십시오.

localhost/list/Freddy's%20Birthday 

이 경로 일치 :이 경우 URL이 같은 보일 것

[Route("~/list/{id}")] 

당신이 무엇을 다루고 있는지의 각도 통보를 단순히 모델로 정보를 전달합니다

public ActionResult List(string id) 
{ 
    return View(model: id); 
} 

@Model을 사용하여 cshtml에서 해당 모델에 액세스 할 수 있습니다. 만약 이전처럼 "프레디의 생일"이었다 전달 된 ID :

<div todo-list-item-directive>@Model</div> 

과 같이 ASP에서 돌아올 것이라고 :이 방법은 작동

<div todo-list-item-directive>Freddy's Birthday</div> 

, 당신이 당신의 면도기 페이지에서 참조하는 일부 뷰 모델을 구축 할 수 좀 더 복잡한 정보를 전달해야하는 경우. 그러나 가능하다면 ui-router를 설정하고 뷰 라우팅에 Angular를 사용하고 API에 ASP.NET을 사용하는 것이 좋습니다.