Я создал проект ASP.NET MVC 5 по умолчанию.@ Html.TextBoxFor() создает пустое текстовое поле, когда соответствующее свойство имеет значение
Я добавил свойство FullName для пользователя:
public class ApplicationUser : IdentityUser
{
public string FullName { get; set; }
}
Добавлено это свойство в ViewModel, а также:
public class ManageUserViewModel
{
[Display(Name = "Name")]
public string FullName { get; set; }
...
}
и отобразить текстовое поле на вид:
@Html.TextBoxFor(m => m.FullName)
Это хорошо работает, я могу установить FullName пользователя. У меня есть только одна проблема: если пользователь уже имеет набор FullName, текстовое поле все еще пустое. Как я могу заставить его иметь фактическое значение свойства FullName?
EDIT:
Это контроллер, который отображает вид с текстовым полем:
public ActionResult Manage(ManageMessageId? message)
{
ViewBag.StatusMessage =
message == ManageMessageId.ChangePasswordSuccess ? "Your password has been changed."
: message == ManageMessageId.ChangeDetailsSuccess ? "Your details have been changed."
: message == ManageMessageId.SetPasswordSuccess ? "Your password has been set."
: message == ManageMessageId.RemoveLoginSuccess ? "The external login was removed."
: message == ManageMessageId.Error ? "An error has occurred."
: "";
ViewBag.HasLocalPassword = HasPassword();
ViewBag.ReturnUrl = Url.Action("Manage");
return View();
}
Правильно ли вы сопоставляете его с контроллером при возврате вида? Вы должны захватить 'FullName' из« ApplicationUser »и поместить его в модель представления. – JLe
установить точку останова в .cshtml и проверить свойство FullName модели –
@JLe: Боюсь, что нет. Как я могу это сделать? Я добавил метод контроллера, который возвращает представление с текстовым полем. –