Страница входа ASP.NET MVC 3 с использованием частичного - PullRequest
0 голосов
/ 18 февраля 2012

Я хочу использовать страницу входа на домашней странице частично (которая является индексной страницей).Тогда моя домашняя страница имеет UserName текстовое поле, Password текстовое поле, RememberMe флажок и кнопку для входа и регистрации, что означает, что страница входа в систему является частичным представлением.

Когда я запускаю домашнюю страницу и нажимаю кнопку входа,это не работает ошибка проверки, даже если я связал JavaScript и я добавил [Обязательный] в класс модели.

Я не знаю, как я могу включить ошибку проверки с помощью JavaScript?

И как можноЯ использую HomeController ?(Домашняя страница - страница по умолчанию)

Не могли бы вы мне помочь?

Я новичок, и я только начал разрабатывать приложение MVC.

Index.cshtml в домашней папке

<div id="border_frame">
@Html.Partial("_LogOnPartial")
</div> 

LogonPartial.cshtml в общей папке

@model MvcApplication2.Models.LogOnModel

@if (Request.IsAuthenticated)
{
<text>Welcome <strong>@User.Identity.Name</strong>!
[ @Html.ActionLink("Log Off", "LogOff", "Account") ]</text>
}
else
{
<script src="@Url.Content("~/Scripts/jquery.validate.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.min.js")" type="text/javascript"></script>

using (Html.BeginForm())
{
    <div>
    @Html.LabelFor(m => m.UserName)

    @Html.TextBoxFor(m => m.UserName, new { style = "width:150px;" })
    @Html.ValidationMessageFor(m => m.UserName)

    @Html.LabelFor(m => m.Password)

    @Html.PasswordFor(m => m.Password,  new { style = "width:150px;" })
    @Html.ValidationMessageFor(m => m.Password) 
    <div>
    @Html.CheckBoxFor(m => m.RememberMe)
    @Html.LabelFor(m => m.RememberMe)
    </div>
    <button name="button" class="login_button" value="logIn">Log In</button>
    <button name="button" class="register_button" value="register">Register now</button>
    </div>
@Html.ValidationSummary(true, "Login was unsuccessful. Please correct the errors and try again.")
}    

}

AccountModel.cs

public class LogOnModel
{
    [Required]
    [Display(Name = "User ID")]
    public string UserName { get; set; }

    [Required]
    [DataType(DataType.Password)]
    [Display(Name = "Password")]
    public string Password { get; set; }

    [Display(Name = "Remember me?")]
    public bool RememberMe { get; set; }
}

HomeController.cs

public ActionResult Index()
    {
        return View();
    }

1 Ответ

0 голосов
/ 18 февраля 2012

У вас должен быть метод пост-действия для обработки обратной передачи.

[HttpPost]
public ActionResult Index(LogonModel model)
{
    if (ModelState.IsValid) {
         // do your validation stuff
    }

    // If you don't return the model, validation won't work.
    return View(model);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...