Asp.net mvc 在ASP.NET MVC登录的弹出标签上显示错误消息

Asp.net mvc 在ASP.NET MVC登录的弹出标签上显示错误消息,asp.net-mvc,Asp.net Mvc,我正在开发登录功能。登录表单显示在模式(引导)中。当用户提供正确的凭据时,它将正确重定向。如果用户提供了不正确的详细信息,我需要在弹出窗口上显示错误消息。我使用重定向操作到同一页。但是,如果凭据错误,我如何使弹出窗口成为备用窗口呢。当前弹出窗口正在关闭。 我的代码如下: <div class="modal-body"> <div id="myTabContent" class="tab-content"> @us

我正在开发登录功能。登录表单显示在模式(引导)中。当用户提供正确的凭据时,它将正确重定向。如果用户提供了不正确的详细信息,我需要在弹出窗口上显示错误消息。我使用重定向操作到同一页。但是,如果凭据错误,我如何使弹出窗口成为备用窗口呢。当前弹出窗口正在关闭。 我的代码如下:

 <div class="modal-body">
            <div id="myTabContent" class="tab-content">

                @using (Html.BeginForm("RegisterUser", "Home", FormMethod.Post, new { id = "regForm" }))
                {

                    <div class="tab-pane fade" id="signup">
                        <fieldset>
                            <!-- Sign Up Form -->
                            <!-- Text input-->
                            <div class="control-group">
                                <label class="control-label" for="Email">Email:</label>
                                <div class="controls">
                                    @Html.TextBoxFor(x => x.Email, new { @class = "form-control input-large", @placeholder = "Joek@irawath.com", @required = "" })
                                </div>
                            </div>

                            <!-- Text input-->
                            <div class="control-group">
                                <label class="control-label" for="userid">Alias:</label>
                                <div class="controls">
                                    @Html.TextBoxFor(x => x.UserName, new { @class = "form-control input-large", @placeholder = "Joek@irawath.com", @required = "" })
                                </div>
                            </div>

                            <!-- Password input-->
                            <div class="control-group">
                                <label class="control-label" for="password">Password:</label>
                                <div class="controls">
                                    @Html.TextBoxFor(x => x.Password, new { @class = "form-control input-large", @placeholder = "********", @required = "", @type = "password" })

                                    <em>1-8 Characters</em>
                                </div>
                            </div>

                            <!-- Text input-->
                            <div class="control-group">
                                <label class="control-label" for="reenterpassword">Re-Enter Password:</label>
                                <div class="controls">
                                    <input id="reenterpassword" class="form-control" name="reenterpassword" type="password" placeholder="********" class="input-large" required="">
                                </div>
                            </div>



                            <!-- Button -->
                            <div class="control-group">
                                <label class="control-label" for="confirmsignup"></label>
                                <div class="controls">
                                    <button id="btnconfirmsignup" type="submit" name="signin" class="btn btn-success">Sign Up</button>
                                    @* <button id="btnsignin" type="submit" name="signin" class="btn btn-success">Sign In</button>*@

                                </div>
                            </div>
                        </fieldset>
                    </div>

                }



            </div>
            <div class="modal-footer">
                <center>
    <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
    </center>
            </div>
        </div>

我建议使用
Ajax.BeginForm()
来完成

ASP.Net MVC
引导模式弹出窗口中的
异步登录/注册
。一步一步地,一切都在那里,甚至你可以自己下载项目

所有这些功能都可以通过该博客实现

1) 以引导模式登录/注册

2) 如果凭据有效,它将重定向到另一个页面

3) 如果凭据错误,它将在模式本身中显示正确的错误消息

4) 单击提交后加载图像和按钮


干杯:)

为什么不使用Ajax呢。这很简单,我不想使用ajax。因为用户无法理解发生了什么?如果我使用ajax,浏览器的处理符号将变得平静。如果你使用
重定向到Action
,即使是到当前页面的同一URL,这类似于点击一个链接,将你带回该页面,因此模式消失(页面重新加载)。正如@BasantaMatia提到的,AJAX可能更适合这种情况,如果您担心用户不知道发生了什么,那么可以添加一个微调器或加载条来指示正在进行的工作。这并不是避免使用AJAX的有力论据。@sleeyuen,模式消失了,因为它通过执行RedirectToAction获得回发。我如何在弹出窗口中使用此处的进程栏。我是个初学者。
[HttpPost]
    public ActionResult CheckUser(UserInfo obj)
    {

        int res = udaObj.CheckUser(obj.UserName, obj.Password);
        if (res >= 1)
        {
            return RedirectToAction("Appointment", "Home");
        }
        else
        {
            //For testing purpose
            return RedirectToAction("NewIndex", "Home");
        }

    }