2015-01-20 2 views
-3

나는 이것이 매우 기본적이고 어리석은 질문이라는 것을 알고 있습니다.ASP.Net 응용 프로그램에 웹 페이지 추가

asp.net에서 처음으로 웹 사이트를 구성하는 중입니다. RedirectToAction에 문제가 있습니다.

리디렉션을 테스트하기 위해 cshtml 페이지를 추가 했으므로 파일을 찾지 못했습니다.

~ /보기/공유

나는 Test.cshtml을 추가했습니다. 로그인/인증의 유효성에

, 나는 다음과 같이 방법을 업데이트하는거야 .... 위에서 볼 수 있듯이

[HttpPost] 
    [AllowAnonymous] 
    [ValidateAntiForgeryToken] 
    public async Task<ActionResult> Login(LoginViewModel model, string returnUrl) 
    { 
     if (!ModelState.IsValid) 
     { 
      return View(model); 
     } 

     // This doesn't count login failures towards account lockout 
     // To enable password failures to trigger account lockout, change to shouldLockout: true 
     var result = await SignInManager.PasswordSignInAsync(model.Email, model.Password, model.RememberMe, shouldLockout: false); 

     switch (result) 
     { 
      case SignInStatus.Success: 
       return RedirectToAction("Test", "Home"); 
       //return RedirectToLocal(returnUrl); 
      case SignInStatus.LockedOut: 
       return View("Lockout"); 
      case SignInStatus.RequiresVerification: 
       return RedirectToAction("SendCode", new { ReturnUrl = returnUrl, RememberMe = model.RememberMe }); 
      case SignInStatus.Failure: 
       return RedirectToLocal(returnUrl); 
      default: 
       ModelState.AddModelError("", "Invalid login attempt."); 
       return View(model); 
     } 
    } 

내가 다음 줄을 추가했습니다.

RedirectToAction("Test", "Home"); 

그러나, 나는이 코드를 실행하려고 할 때마다, 나는 '/'응용 프로그램에 서버 오류가 발생합니다. 간단한 리디렉션 문이 수없는 이유를 실현

다음은/홈/테스트를 찾을 수 없다고

..

그것으로 asp.net과 MVC를 사용하는 내 첫 번째 시도, 나는 조금 혼란 스러워요 웹 페이지를 찾을 수 있습니다.

내가 멍청한 짓을하고 있니?

+0

질문 및 제목을 재구성하십시오 , 이해하기 힘든 w 당신이 이루고자하는 모자 – Sangram

답변

2

RedirectToAction("Test", "Home")을 반환하면 본질적으로 동작으로 리디렉션됩니다. 즉, 사용자가 Test.cshtml을 설정 한 것처럼보기가 아닙니다./home/test에 응답하려면 Test 액션을 사용하여 요청을 처리하는 HomeController 객체가 필요합니다. 공유 된 이후에보기 만 반환하려면 View("Test")을 반환하는 메서드를 사용할 수 있습니다. 그러면 공유 디렉터리에 test.cshtml 파일이 있습니다.

MVC는 규칙에 따라 많이 사용됩니다./

  1. HomeController 컨트롤러 (그리고 {컨트롤러 명}의 기본 MVC 라우팅을 가정 : 당신이 리디렉션 요청 (특히`RedirectToAction ("테스트"에 /Home/Test 응답을 원한다면, "홈"), 당신은 몇 가지가 필요합니다 {ActionName} 뷰를 돌려줍니다
  2. Test 액션 메소드는 프로젝트 뷰 \ 홈 폴더에서
  3. 가하는 Test.cshtml 파일보기를 포함하는 (심지어 return View() 괜찮습니다).
+0

굉장한 감사합니다! 국제 대회를 위해 업데이트하겠습니다. –

관련 문제