im new in asp.net mvc. Я смотрю учебник, и он использует webmatrix. Я попытался добавить столбец с именем «IDViewer» в таблицу «UserProfile» в моей базе данных, созданной webmatrix. но затем, когда я попытался вставить какое-то значение, он возвращает мне ошибку «Недопустимое имя столбца« Длина ».» но я не объявил имя столбца «Длина» в моем коде. проверьте мои коды и изображения. thank youНедопустимое имя столбца 'Длина' webmatrix
Изображения здесь. пожалуйста посмотрите
My database, i added column named IDViewer
public class Register
{
[Required(ErrorMessage = "Please provide password", AllowEmptyStrings = false)]
public string Username { get; set; }
[Required(ErrorMessage = "Please provide password", AllowEmptyStrings = false)]
[DataType(System.ComponentModel.DataAnnotations.DataType.Password)]
[StringLength(50, MinimumLength = 8, ErrorMessage = "Password must be 8 char long.")]
public string Password { get; set; }
public string IDViewer { get; set; }
}
@using (Html.BeginForm())
{
@Html.AntiForgeryToken()
@Html.ValidationSummary("", new { @style = "color: red" })
<label>Username</label>
@Html.TextBoxFor(m => m.Username, new { @class = "form-control" })
<label>Password</label>
@Html.PasswordFor(m => m.Password, new { @class = "form-control" })
<label>Student ID</label>
@Html.TextBoxFor(m => m.IDViewer, new { @class = "form-control" })
@Html.DropDownList("role",roles,"Select Account Type")
<button class="btn btn-primary">Register</button>
}
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Register(Register registerdata, string role)
{
if(ModelState.IsValid)
{
try
{
WebSecurity.CreateUserAndAccount(registerdata.Username, registerdata.Password, registerdata.IDViewer);
Roles.AddUserToRole(registerdata.Username,role);
return RedirectToAction("Index", "Home");
}
catch (MembershipCreateUserException)
{
ModelState.AddModelError("", "Sorry the username already exists");
return View(registerdata);
}
}
ModelState.AddModelError("","Data invalid");
return View(registerdata);
}
3-й параметр должен быть словарем. Попробуйте заменить 'registerdata.IDViewer' на' new {IDViewer = registerdata.IDViewer} ' –