Я пытаюсь отправить данные из представления в метод Create контроллера.Но параметр модели представления получает нулевые значения при вызове метода create.
На мой взгляд, я хочу добавить элемент и показать список добавленных элементов.Я пытался отправить данные в метод create, но его параметр модели представления получает нулевые значения.
В следующем коде всякий раз, когда для метода Create указывается значение p.posts, а p.post имеет значение null.Как я могу получить значение p.post и p.posts здесь?
Метод контроллера
public ActionResult Create(PostsViewModel p) {}
Просмотр модели
public class PostsViewModel
{
public IEnumerable<Post> posts;
public Post post;
}
Просмотр
@model NotesWebApplication.ViewModels.PostsViewModel
...
@using (Html.BeginForm()) {
...
@Html.EditorFor(model => model.post.postText, new { htmlAttributes = new { @class = "form-control" } })
...
<input type="submit" value="Create" class="btn btn-default" />
Также в моем методе Create, если я хотел добавитьПривязка, которая должна быть добавлена
[Bind(Include="postText")]
или
[Bind(Include="post.postText")]
update
Я внес следующие изменения в класс PostsViewModel
public class PostsViewModel
{
public IEnumerable<Post> posts { get; set; }
public Post post { get; set; }
}
и метод Create в контроллере изменяется на
[HttpPost]
public ActionResult Create([Bind(Include="post, posts")]PostsViewModel p) {}
Так выглядит метод httpget Create
// GET: Posts/Create
public ActionResult Create()
{
PostsViewModel postsViewModel = new PostsViewModel();
postsViewModel.posts = db.Posts;
postsViewModel.post = new Post();
return View(postsViewModel);
}
Теперь, когда я отправляю форму p.сообщение в параметре контроллера получает желаемое значение.Но p.posts остается нулевым.Почему это происходит?