Как привязать к объекту атрибут объекта в C#

Правильно рассмотрите этот сценарий, у меня есть отчет, и этот отчет имеет комментарии. Теперь, когда я показываю отчет, я хочу видеть комментарии и добавлять дополнительные комментарии, если это необходимо.

Итак, следовательно, у меня есть 3 объекта

MyReport
MyReportComment
MyReportCreateViewModel

Первые два там, чтобы я мог иметь отчет с комментариями, третий создан для обработки 2, и поэтому я могу создать представление.

Все хорошо, но теперь я хочу обработать этот пост - этого должно быть достаточно.

[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Details(Models.MyReportCreateViewModel ViewCreateModel)

Я хочу быть уверен, что я хочу связать поле комментария (в MyReportComment) с полем в ViewCreateModel.MyReportComment, чтобы избежать чрезмерного размещения.

Как бы я это сделал? Обычно я бы сделал это.

[Bind(Include="Title,Content")] Models.MyReport report

Если бы это было "простое" представление с одним простым объектом, но я не вижу, как это сделать в этом случае.

1 ответ

Прямо здесь есть простой ответ, который вы не можете. Правильный день для этого - не передавать сложный объект вообще (хотя это можно сделать!)

Пройти id и создать объект, который вы хотите затем использовать что-то вроде этого

if (TryUpdateModel(instructorToUpdate, "",
               new string[] { "LastName", "FirstMidName", "HireDate", "OfficeAssignment" }))

Где LastName, FirstMidName и т. Д. Являются именами атрибутов класса, который вы пытаетесь обновить.

Это все заполнит ошибки и поможет таким образом.

Другие вопросы по тегам