Редактировать одну модель на странице просмотра другой - ASP.NET MVC - PullRequest
0 голосов
/ 15 июля 2010

Я пишу базовое приложение для ведения блогов в ASP.NET MVC.У меня есть модель Post, которая может быть отображена через View.aspx.На этой странице мне также нужна форма для отправки комментария, но поскольку View.aspx наследует модель Post, я не знаю, как заставить ее редактировать модель Comment.

Ответы [ 4 ]

1 голос
/ 15 июля 2010

Ключевым моментом, который необходимо понять, является то, что когда ваша страница «наследует» класс (в вашем случае Post), это делается исключительно для того, чтобы модель не нуждалась ни в каком преобразовании. Это не ограничивает вас от обращения к другим классам на странице aspx, а также не препятствует тому, чтобы на странице была форма, которая отправляет сообщение другому контроллеру / действию, которое наследуется от совершенно другого класса (комментарий, в вашем случае).

Может быть, если вы опубликовали пример кода, мы могли бы предложить способы заставить его работать так, как вы хотите.

1 голос
/ 15 июля 2010

tsv - создайте несколько частичных просмотров для комментариев (строго типизированных) и создайте пару методов на контроллере комментариев:

  • GetComments (int postId)
  • AddComment (Комментарий newComment)

при просмотре поста вызовите частичное представление через $ ajax или непосредственно на странице.

джим

1 голос
/ 15 июля 2010

В вашем контроллере вы можете использовать любую понравившуюся вам модель.Поэтому разместите форму в своем представлении, которая указывает на сообщение / комментарий / {postid} или комментарий / добавить / {postid}.После добавления модели в базу данных перенаправьте на предыдущий вид.

0 голосов
/ 15 июля 2010

Как сказал Джим, вы можете создать необходимые методы в другом или в том же контроллере и вызвать <% Html.RenderAction ("methodName", "ControllerName")%> в вашем view.aspx, который все еще будет наследовать сообщение. Модель. Затем создайте пользовательские элементы управления для формы, чтобы отправить комментарий и отобразить все комментарии.

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