2013-12-26 2 views
0

ASP.NET MVC 4 응용 프로그램에서 사용자에 대한 2 단계 사용자 정의 등록을 작성하려고합니다. 여기에는 등록 후 사용자를 사용자 컨트롤러의 편집보기로 리디렉션하는 것이 포함됩니다. 이를 달성하기 위해 주식 계정 컨트롤러 템플릿의 코드를 수정했습니다. 나는이 프로그램을 실행할 때ASP.NET MVC 4의 사용자 지정 리디렉션

public ActionResult Register(RegisterModel model) 
     { 
      if (ModelState.IsValid) 
      { 
       // Attempt to register the user 
       try 
       { 
        WebSecurity.CreateUserAndAccount(model.UserName, model.Password); 
        WebSecurity.Login(model.UserName, model.Password); 
        return RedirectToAction("Edit", "User", new { id = WebSecurity.CurrentUserId }); 
       } 
       catch (MembershipCreateUserException e) 
       { 
        ModelState.AddModelError("", ErrorCodeToString(e.StatusCode)); 
       } 
      } 


      return View(model); 
     } 

그러나 나는 그것이 사용자 컨트롤러의 편집 행동으로가는, 그러나의 아이디와 결말을 의미

http://localhost:17005/User/Edit/-1 

을 보여줍니다 주소 표시 줄에 404를 얻을 - 1. 어떤 도움을 주시면 감사하겠습니다.

답변

0
Membership.GetUser().ProviderUserKey 

또는 수정 작업에 사용자 ID를 전달할 수없고 코드에 현재 로그인 한 사용자를 사용할 수 없습니다. 나는에 현재 나처럼 사용자 컨트롤러에서

RedirectToAction("Edit", "User"); 

[Authorize] 
public ActionResult Edit() 
{ 
    object userId = Membership.GetUser().ProviderUserKey; 
} 

간결 서하십시오 내 모바일

+0

와우이 큰 감사를 작동하는 것 같다. 그러나 나는 최선의 방법으로 그것을했는지 확신 할 수 없다. –

관련 문제