JAVA两个视图层_MVC - 管理帐户 . 一个视图有两个局部视图和两个模型
美好的一天!
我正在管理帳戶頁面上,用戶可以在其中更改密碼和電子郵件 .
我有一個管理視圖,其中有兩個部分視圖,更改密碼和更改電子郵件 . 這兩種都使用兩種不同的模型 . 這樣做的目的是在同一頁面上同時包含更改密碼和更改電子郵件 .
如果當前密碼正確,則更改密碼有效,但問題是當我輸入錯誤的當前密碼時 . 這給了我一個InvalidOperationException:
“傳遞到字典中的模型項的類型為'test.Models.LocalPasswordModel',但此字典需要類型為'test.Models.LocalEmailModel'的模型項 . ”
忽略瑞典語錯誤消息:)
這是我的模特:
public class LocalPasswordModel
{
[Required(ErrorMessage = "Nuvarande l?senord m?ste fyllas i.")]
[DataType(DataType.Password)]
[Display(Name = "Nuvarande l?senord")]
public string OldPassword { get; set; }
[Required(ErrorMessage = "Nya l?senordet m?ste fyllas i.")]
[StringLength(100, ErrorMessage = "L?senordet m?ste vara minst 4 tecken l?ng.", MinimumLength = 4)]
[DataType(DataType.Password)]
[Display(Name = "Nya l?senordet")]
public string NewPassword { get; set; }
[DataType(DataType.Password)]
[Display(Name = "Bekr?fta nya l?senordet")]
[Compare("NewPassword", ErrorMessage = "De nya angivna l?senorden st?mmer inte med varandra.")]
public string ConfirmPassword { get; set; }
}
public class LocalEmailModel
{
[Required(ErrorMessage = "Nuvarande E-postadress m?ste fyllas i.")]
[DataType(DataType.EmailAddress)]
[Display(Name = "Nuvarande E-postadress")]
public string OldEmail { get; set; }
[Required(ErrorMessage = "Nya E-postadressen m?ste fyllas i.")]
[System.Web.Mvc.Remote("IsUserEmailAvailable", "Account", ErrorMessage = "E-postadressen anv?nds redan. Var god skriv in en annan E-postadress.")]
[DataType(DataType.EmailAddress)]
[Display(Name = "Nya E-postadressen")]
public string NewEmail { get; set; }
[DataType(DataType.EmailAddress)]
[Display(Name = "Bekr?fta nya E-postadressen")]
[Compare("NewEmail", ErrorMessage = "De nya angivna E-postadresserna st?mmer inte med varandra.")]
public string ConfirmEmail { get; set; }
}
這是我的看法:
“家長視圖”:
@model test.Models.LocalPasswordModel
@{
ViewBag.Title = "Hantera ditt konto";
}
Du ?r inloggad som @User.Identity.Name.
@Html.Partial("_ChangePasswordPartial")
@Html.Partial("_ChangeEmailPartial")
@section Scripts {
@Scripts.Render("~/bundles/jqueryval")
}
“子視圖,更改密碼”:
@model test.Models.LocalPasswordModel
Byt l?senord
@using (Html.BeginForm("Manage", "Account")) {
@Html.AntiForgeryToken()
@Html.ValidationSummary()
Change Password Form
@Html.LabelFor(m => m.OldPassword)
@Html.PasswordFor(m => m.OldPassword)
@Html.LabelFor(m => m.NewPassword)
@Html.PasswordFor(m => m.NewPassword)
@Html.LabelFor(m => m.ConfirmPassword)
@Html.PasswordFor(m => m.ConfirmPassword)
}
“兒童視圖,更改電子郵件”:
@model test.Models.LocalEmailModel
Byt E-postadress
@using (Html.BeginForm("ManageEmail", "Account")) {
@Html.AntiForgeryToken()
@Html.ValidationSummary()
Change Email Form
@Html.LabelFor(n => n.OldEmail)
@Html.TextBoxFor(n => n.OldEmail)
@Html.LabelFor(n => n.NewEmail)
@Html.TextBoxFor(n => n.NewEmail)
@Html.LabelFor(n => n.ConfirmEmail)
@Html.TextBoxFor(n => n.ConfirmEmail)
}
總結
以上是生活随笔為你收集整理的JAVA两个视图层_MVC - 管理帐户 . 一个视图有两个局部视图和两个模型的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux中控和安卓中控哪个比较好,原厂
- 下一篇: 大学计算机要学多久,大学刚开学要不要带电