我一直在玩弄默認的MVC 1網站,添加一些字段到註冊部分,用於在數據庫中創建一個輔助對象在註冊時間。ASP.NET MVC 1自定義模型在註冊頁面上,確認密碼沒有得到填充
我創建了視圖模型,包括用戶名,電子郵件,密碼和passwordConfirm屬性以及其他幾個。然後,我將該類型添加到註冊頁面上的inherits屬性中,並在控制器中將模型的新實例添加到ViewData.Model屬性。
問題是,當我將模型發回服務器時,無論我輸入什麼內容,passwordConfirm屬性都始終爲空。密碼屬性正確填寫,所有其他屬性也一樣。
是否有什麼特別的事情需要做以獲得passwordConfirm值來傳遞?
下面是相關代碼:
RegistrationViewModel.cs:
public class RegistrationViewModel
{
public string UserName { get; set; }
public string Password { get; set; }
public string PasswordConfirm { get; set; }
public string Email { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public string DisplayName { get; set; }
public string Address1 { get; set; }
public string Address2 { get; set; }
public string City { get; set; }
public string State { get; set; }
public string Zip { get; set; }
public string HomePhone { get; set; }
public string CellPhone { get; set; }
public string OtherPhone { get; set; }
public string Twitter { get; set; }
public string Bio { get; set; }
public string DOB { get; set; }
}
AccountController.cs:
public ActionResult Register()
{
ViewData.Model = new RegistrationViewModel();
ViewData["PasswordLength"] = MembershipService.MinPasswordLength;
return View();
}
Register.aspx:
<% using (Html.BeginForm()) { %>
<div>
<fieldset>
<legend>Account Information</legend>
<p>
<label for="firstname">First Name:</label>
<%= Html.TextBox("firstname", Model.FirstName) %>
<%= Html.ValidationMessage("firstname") %>
</p>
<p>
<label for="lastname">Last Name:</label>
<%= Html.TextBox("lastname", Model.LastName) %>
<%= Html.ValidationMessage("lastname") %>
</p>
<p>
<label for="username">Username:</label>
<%= Html.TextBox("username", Model.UserName) %>
<%= Html.ValidationMessage("username") %>
</p>
<p>
<label for="email">Email:</label>
<%= Html.TextBox("email", Model.Email) %>
<%= Html.ValidationMessage("email") %>
</p>
<p>
<label for="zipcode">Zip Code:</label>
<%= Html.TextBox("zip", Model.Zip) %>
<%= Html.ValidationMessage("zip") %>
</p>
<p>
<label for="password">Password:</label>
<%= Html.Password("password", Model.Password) %>
<%= Html.ValidationMessage("password") %>
</p>
<p>
<label for="confirmPassword">Confirm password:</label>
<%= Html.Password("confirmPassword",Model.PasswordConfirm) %>
<%= Html.ValidationMessage("confirmPassword") %>
</p>
<p>
<input type="submit" value="Register" />
</p>
</fieldset>
</div>
<% } %>
感謝您的快速解答。安迪先得到支票。 – 2009-12-22 15:45:09