登录MVC重定向到另一个页面



我有一个登录页面。当用户点击登录按钮时,该按钮将调用另一个操作方法。该操作方法将有两个参数。用户提供了userid和密码。然后进行一些验证,并根据结果重定向到另一个操作方法。我在那里挣扎。我想这很简单。我是MVC的新手。任何帮助都会得到通知。

查看

<div class="container-fluid">
    <div class="starter-template">
        <h1>Policy Assessment Tool</h1>
        <p class="lead">Are You Following Right?</p>
        <button type="button" class="btn btn-primary btn-lg" onclick="location.href='@Url.Action("Create","UserDatas")'">Register for a An Account</button>
        <h3><strong>OR</strong></h3>
    </div>
<div class="row">
    <form class="form-signin" role="form" method="post">
    <div class="col-lg-4"></div>
    <div class="col-lg-4">
        <h2 class="form-signin-heading">Please Sign-In to Continue</h2>
        <div class="input-group">
            <input type="text" name="input_domain_id" class="form-control text-center" placeholder="Domain ID" autofocus required>
            <input type="password" name="input_domain_password" class="form-control text-center" placeholder="Domain Password" required>
        <div class="col-lg-12">
            <p><button class="btn btn-lg btn-primary btn-block" type="submit" onclick="location.href='@Url.Action("Verify_Login", "Ldap_Login_Verify")'">Login</button></p>
            </div>
        </div><!-- /input-group -->
    </div><!-- /.col-lg-4 -->
    <div class="col-lg-4"></div>
        </form>
</div><!-- /.row -->
</div>

控制器

 [HttpPost]
        public ActionResult Verify_Login(string input_domain_id, string input_domain_password)
//Log-in Logic
return View("Success")

使用Html.BeginForm HtmlHelper并将Model从Controller传递到View以获得最佳实践,而不是使用form标记。以下是MVC5入门链接。

基于上面的标记,您不必担心,当表单发布时,值将绑定到操作方法的参数,因为参数名称与表单字段名称相似。

上述概念称为模型绑定。下面的两个链接应该会给你一个关于这一点的好主意。

http://www.codeproject.com/Articles/710776/Introduction-to-ASP-NET-MVC-Model-Binding-An-Absolhttp://dotnetslackers.com/articles/aspnet/Understanding-ASP-NET-MVC-Model-Binding.aspx

我试图在下面编译一个简单的例子。

让我们假设有一个如下的视图。

@model string 
@{
    ViewBag.Title = "Injection";
}
 <h2>Injection</h2>
 @using(Html.BeginForm())
{
        <div id="formDetails">
              @Html.TextBox("UserName")
       </div>
       <div>
              <input type="submit" id="btnTest" value="Click Me" />
       </div>
}

相同的操作方法类似

    [HttpPost]
    public ActionResult Injection(string UserName)
    {
        return View("Injection");
    }

因此,当我点击提交按钮时,表单就会发布,由于ViewName是注入,并且有一个相应的操作方法叫做注入,它会自动命中该操作方法。由于方法和字段的参数名称相同,用户名文本框中的Whatever值将自动绑定到方法参数。

最新更新