HttpPost ActionMethod不从ASP MVC中的视图调用

时间:2015-05-27 06:19:43

标签: asp.net-mvc c#-4.0 asp.net-ajax

我的登录页面包含两个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属性进行修饰。

但是,相同的代码在不同的系统中正常工作。

0 个答案:

没有答案