在我的布局页面中,我想显示一个登录框,或者有关登录人员的详细信息 .
@if (Request.IsAuthenticated)
{
@Html.ViewBag.UserDisplay
@Html.ActionLink("[Logout]", "LogoutUser", "User")
}
else
{
@Html.Partial("_Login")
}
@RenderBody()
我的登录局部视图:
@model BasicFinanceUI.Models.LoginModel
@using (Html.BeginForm("LoginUser", "User"))
{
@Html.ValidationSummary()
Username: @Html.TextBoxFor(x => x.Username)
Password: @Html.TextBoxFor(x => x.Password)
Remember Me: @Html.DropDownListFor(x => x.RememberMe, new[]
{
new SelectListItem() { Text = "Yes", Value = "true"},
new SelectListItem() {Text = "No", Value = "false"}
}, "Select")
@Html.ActionLink("[Register]", "Register", "User")
}
当我加载屏幕并登录时,它工作正常 .
但是,当我单击“注册”时,它会加载注册屏幕 . 登录框仍然在布局中可见 .
我的注册屏幕显示如下:
@model BasicFinanceUI.Models.RegisterationModel
@{
ViewBag.Title = "Register";
Layout = "~/Views/Shared/SiteLayout.cshtml";
}
Register
@using (Html.BeginForm("Register", "User"))
{
@Html.ValidationSummary()
Username: @Html.TextBoxFor(x => x.Username)
Password: @Html.PasswordFor(x => x.Password1)
Retype Password: @Html.PasswordFor(x => x.Password2)
Firstname: @Html.TextBoxFor(x => x.Firstname)
Surname: @Html.TextBoxFor(x => x.Surname)
Email: @Html.TextBoxFor(x => x.Email)
}
当我单击“注册”按钮时,出现问题 .
我收到错误:
传递到字典中的模型项的类型为“BasicFinanceUI.Models.RegisterationModel”,但此字典需要“BasicFinanceUI.Models.LoginModel”类型的模型项 .
看起来因为屏幕上有两种形式,它们混在一起 . 我究竟做错了什么?