Две модели в одном представлении в ASP MVC 3 - PullRequest
90 голосов
/ 05 апреля 2011

У меня есть 2 модели:

public class Person
{
    public int PersonID { get; set; }
    public string PersonName { get; set; }
}
public class Order
{
    public int OrderID { get; set; }
    public int TotalSum { get; set; }
}

Я хочу редактировать объекты ОБА классов в ОДНОМ представлении, поэтому мне нужно что-то вроде:

@model _try2models.Models.Person
@model _try2models.Models.Order

@using(Html.BeginForm())
{
    @Html.EditorFor(x => x.PersonID)
    @Html.EditorFor(x => x.PersonName)
    @Html.EditorFor(x=>x.OrderID)
    @Html.EditorFor(x => x.TotalSum)
}

Это, конечно, не работает: в файле .cshtml разрешен только один оператор 'model'. Может быть, есть какое-то решение?

Ответы [ 12 ]

0 голосов
/ 13 августа 2013

Вы не можете объявить две модели в одном представлении, попробуйте использовать Html.Action("Person", "[YourController]") & Html.Action("Order", "[YourController]").

Удачи.

0 голосов
/ 14 сентября 2011

Другой способ, о котором никогда не говорят, Создайте представление в MSSQL со всеми данными, которые вы хотите представить. Затем используйте LINQ to SQL или что-то еще, чтобы отобразить его. В вашем контроллере верните его в вид. Готово.

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