2015-05-07 2 views
0

Я изучаю ASP.NET MVC, пытаясь преобразовать .NET Web Application в ASP.NET MVC. У меня есть контроллер и логин. Я хочу перенаправить на просмотр по умолчанию, если пользователь аутентифицирован.Не удается перенаправить на конкретный вид в ASP.NET MVC

Это структура папок:

Views 
    - Account 
    - Home 
    - Shared 
Default.cshtml 

Это Войти действие контроллера:

public ActionResult Login(LoginModel model) 
{ 
    if (ModelState.IsValid) 
    { 
     bool authenticated = Security.AuthenticateLANUser(model.UserName, model.Password); 
     if (!authenticated) 
      { 
       Session["authenticated"] = false; 
       System.Text.StringBuilder errorMsg = new System.Text.StringBuilder(); 
       errorMsg.Append("Invalid Login/Password entered."); 
       errorMsg.Append("We were not able to authenticate you in in Active Directory based on the information entered, "); 
       errorMsg.Append("but we recorded your attempt for audit purposes."); 

       ModelState.AddModelError("", errorMsg.ToString()); 
       return View(model); 
      } 
      else 
      { 
       return View("Views/Account/Default.cshtml"); 
      } 
     } 

     ModelState.AddModelError("", "The user name or password provided is incorrect."); 
     return View(model); 
    } 

Пользователь проходит проверку подлинности, и я должен быть перенаправлен по умолчанию вид, но это делает не перенаправлять. Что я делаю не так?

+1

Нет, где в вашем коде вы перенаправляете. Это должно быть 'return RedirectToAction (« Default »,« Account »);« предполагается, что у вас есть «AccountController» с методом «Default» –

ответ

1

Это должно быть имя вида, а не путь просмотра. Итак:

return View("Default"); 

Также по умолчанию вид должен быть определен либо в папке, соответствующей текущему контроллеру (предположительно учетной записи) или в общей папке. Путь, который вы используете, указывает на то, что он находится в учетной записи, структура, о которой вы указали, говорит, что она находится только в папке «Виды», поэтому я подумал, что это нужно упомянуть.

Смежные вопросы