我的登录页面包含两个tab.One用于LogIn,另一个用于SignUp。 在我的LogInController中,我创建了三个动作方法,如下节所示。
[HttpGet]
[ActionName("LogIn")]
public ActionResult LogIn()
{
return View();
}
[HttpPost]
[ActionName("LogIn")]
public ActionResult LogIn(string Email, string Password)
{
//Some code
return RedirectToAction("LogIn", "LogIn");
}
[HttpPost]
[ActionName("SignUp")]
public ActionResult SignUp(string Email,string Password)
{
//Some Code
return RedirectToAction("SignUpWizard", "SignUpWizard");
}
我的视图使用AJAX调用此Action方法。我的View和AJAX调用看起来像这样。
<html>
<head>
<title>Login</title>
<link href="~/Content/css/main.css" rel="stylesheet" />
<link href="~/Content/plugins/bootstrap/css/bootstrap.min.css" rel="stylesheet" />
<script src="~/Scripts/knockout-2.2.0.js"></script>
<script src="~/Scripts/knockout-2.2.0.debug.js"></script>
<script src="~/Content/js/jquery.js"></script>
<script src="~/ViewModel/LoginViewModel.js"></script>
</head>
<body>
<nav class="navbar navbar-custom" role="navigation">
<div class="container-fluid">
<h2 class="text-center t-size-change">Login</h2>
</div>
<!-- /.container-fluid -->
</nav>
<div class="container m-t-150">
<div class="row">
<div class="col-md-12">
<div class="login-tabs">
<!-- Nav tabs -->
<ul class="nav nav-tabs nav-justified nav-tabs-custom" role="tablist">
<li class="active"><a href="#home" role="tab" data-toggle="tab">Login</a></li>
<li><a href="#profile" role="tab" data-toggle="tab">Sign up for free</a></li>
</ul>
<!-- Tab panes -->
<div class="tab-content">
<div class="tab-pane active custom-tab" id="home">
<div class="row">
<div class="col-lg-12">
<div class="form-group">
<input type="email" placeholder="Email Address" class="form-control" name="Email" id="txtLogInEmail" required>
</div>
<div class="form-group">
<input type="password" placeholder="Password" class="form-control" name="Password" id="txtLogInPassword" required>
</div>
<input type="button" value="Login to Tucan Rotas" class="btn btn-success btn-custom" id="btnLogIn" />
<p class="text-center p-10"><a href="#">Forgot your password?</a></p>
</div>
</div>
</div>
<div class="tab-pane custom-tab" id="profile">
<div class="row">
<div class="col-lg-12">
<div class="form-group">
<input type="email" placeholder="Email Address" class="form-control" name="Email" id="txtSignUpEmail" required>
</div>
<div class="form-group">
<input type="password" placeholder="Password" class="form-control" name="Password" id="txtSignUpPassword" required>
</div>
<input type="button" id="btnSignUp" class="btn btn-success btn-custom" value="Sign up for free" />
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<script>
$(function () {
$('#btnSignUp').click(function () {
$.ajax({
url:'@Url.Action("SignUp", "LogIn")',
method:"POST",
data: { Email: $('#txtSignUpEmail').val(), password: $('#txtSignUpPassword').val() }
});
});
$('#btnLogIn').click(function () {
$.ajax({
url: '@Url.Action("LogIn", "LogIn")',
method: "POST",
data: { Email: $('#txtLogInEmail').val(), password: $('#txtLogInPassword').val() }
});
});
});
</script>
</body>
</html>
当我在SignUp或LogIn中输入EmailID
和密码并单击SignUp或LogIn按钮时,每次调用LogIn()
方法都会使用HttpGet
属性进行修饰。
但是,相同的代码在不同的系统中正常工作。