2016-04-07 178 views
0

I'm在MVC新的剃刀...我正尝试做一个登录页面,所以我有这样的代码在我CSHTML:FormMethod.Post没有使用默认操作。剃刀和MVC 4

@using (Html.BeginForm("LogOn", "Login", FormMethod.Post)) 
{ 
    @Html.LabelFor(m => m.usuario) 
    @Html.TextBoxFor(m => m.usuario) 

    @Html.LabelFor(m => m.password) 
    @Html.PasswordFor(m => m.password) 

    @Html.LabelFor(m => m.rememberMe) 
    @Html.CheckBoxFor(m => m.rememberMe) 

    <input type="submit" value="Iniciar sesión" />     
} 

在控制器中,我有这样的:

public class LoginController : Controller 
{  
    public ActionResult Login() 
    { 
     return View(); 
    } 

    [HttpPost] 
    public ActionResult LogOn(Login lg) 
    { 
     if(//valido mi usuario) 
     { 
      return RedirectToAction("MyContent", "MyContent"); 
     } 

     return View("Login"); 
    } 
} 

但它从来没有所谓的行动“登录”只叫动作默认的“登录”和我不知道这是错误...

普莱斯帮我!

谢谢!

+0

真的,真的应该呼吁那个行动。你是如何特别确认它不是? – David

+0

我认为这是触及'If'条件,并且该表达式返回false,并且您正在看到登录视图,因为您有'返回视图(“Login”)' – Shyju

+0

我在de“if()”之前放置了一个断点,断点是我声明和确定一些变量的地方。它从来没有叫过。 – Patty

回答

0

我发现这个问题是我的web配置的认证是不正确的,我didn't我所有的其他意见做模特,所以这是问题...

当我删除了web配置认证部分它的作品...

谢谢!