Как автоматически заполнить текстовое поле в MVC - PullRequest
2 голосов
/ 29 июля 2011

У меня есть простой способ, с помощью которого пользователь завершит отправку "новостной ленты". Когда форма загружается в представлении создания, я хочу, чтобы автор Input автоматически заполнял имя зарегистрированного пользователя внутри текстового поля в представлении. Кто-нибудь может прокомментировать, что я делаю не так?

моя модель:

public class NewsWire
 {

      public int ID { get; set; }
      public int VendorID { get; set; }
      public DateTime Date { get; set; }          
      public string Subject { get; set; }
      public string NewsItem { get; set; }
      //public string Author { get; set; }

      public string Author
      {
           get
           {
               return System.Web.HttpContext.Current.User.Identity.Name;
           }
      }
  }

В форме для раздела автора у меня есть это:

<div class="editor-label">
        @Html.LabelFor(model => model.Author)
    </div>
    <div class="editor-field">
        @Html.EditorFor(model => model.Author)
        @Html.ValidationMessageFor(model => model.Author)
    </div>

Я пробовал несколько вариантов, но все еще не понял это правильно. Любая помощь будет оценена.

Ответы [ 2 ]

2 голосов
/ 29 июля 2011

Модель:

public class NewsWire
{
    public int ID { get; set; }
    public int VendorID { get; set; }
    public DateTime Date { get; set; }          
    public string Subject { get; set; }
    public string NewsItem { get; set; }
    public string Author { get; set; }
}

и внутри действия контроллера, которое отображает это представление, заполняется свойство Author текущего пользователя, вошедшего в систему:

[Authorize]
public ActionResult SomeAction()
{
    var model = new NewsWire
    {
        Author = User.Identity.Name
    };
    return View(model);
}
0 голосов
/ 29 июля 2011

Хорошо, я заметил, что вы создаете редактор, но у автора есть только {get; } в модели. Это может быть проблемой!

Вы должны оставить его как свойство, но заполнить Author при инициализации объекта.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...